★编写函数:unsigned int reverse_bit(unsigned int value);这个函数的返回值value的二进制位模式从左到右翻转后的值。 #include<stdio.h> #include<stdlib.h> #include<math.h> unsigned int reverse_bit(unsigned int value) { unsigned int sum = 0; int arr[32], a = 0, b = 0; int count1 = 0, i = 0; for (i = 0; i < 32; i++) //先得到输入数的二进制序列存入数组中 { a = value & 1; b = value >> 1; value = b; arr[i] = a; } printf("输入值的二进制序列为:"); //然后逆向输出 for (i = 31; i >= 0; i--) { count1++; if (count1 % 9 == 0) //count用于序列每八位整齐排列 { count1++; printf(" "); } printf("%d", arr[i]); } printf("\n"); int count2 = 0; printf("翻转后的二进制序列为:"); for (i = 0; i < 32; i++) { count2++; if (count2 % 9 == 0) { count2++; printf(" "); } sum +=((value>>i)&1)*pow(2, 31 - i); //求得该二进制序列的翻转序列,pow函数需调用math库 printf("%d", arr[i]); } return sum; } unsigned int return_bit(unsigned int value) //return_bit函数用于求得返回值 { unsigned int ret = 0; int i = 0; for (i = 0; i < 32; i++) { ret <<= 1; ret |= ((value >> i) & 1); } return ret; } int main() { unsigned int value = 0; int ret = 0; printf("请输入一个正数:"); scanf("%d",&value); reverse_bit(value); ret = return_bit(value); printf("\nBack_Value:%u\n", return_bit(value)); system("pause"); return 0; }
函数的返回值value的二进制位模式从左到右翻转后的值
原创温暖的微笑 ©著作权
文章标签 函数的返回值value的二进制位模式从左 文章分类 C/C++ 后端开发
-
Python基础笔记-函数的作用、返回值、参数、作用域
主要记录了函数以及函数的参数、返回值、执行、传参、作用域等内容。
作用域 数据 全局变量 函数 Python基础 -
C语言:编写函数将一个整数的二进制位模式从左到右翻转后的值输出
编写函数:unsigned int reverse_bit(unsigned int value);这个函数的返回 值value的二进制位模式从左到右翻转后的值。如:在32位机器上25这个值包含下列各位:00000000000000000000000000011001翻转后:(2550136832)10011000000000000000000000000000程序结果返回:       2550136832
C语言:编写函数将一个整数的二进制位模式 函数的返回 值value的二进制位模式从 次方函数的使用 取余数取模的使用 -
二进制位翻转:
思路:利用按位与(&)求得二进制每一位的数字,然后再与ret 进行 按位或(|) 运算。 ret左移,value
#include i++ 位或