1、编写函数:unsigned int reverse_bit(unsigned int value);
这个函数的返回 值value的二进制位模式从左到右翻转后的值。
#include<stdio.h>
#include<math.h>
int reverse_bit(unsigned int value)
{
int i=0;
int arr[32]={0};
int brr[32]={0};
printf("num1翻转后二进制(num2): ");
for(i=0;i<32;i++) //value 二进制转化
{
arr[i]=value%2;
value=value/2;
printf("%d",arr[i]);
}
printf("\n");
printf("num1翻转后数值(num2): ");
for(i = 0;i < 32;i++)
{
value+=arr[i]*pow(2,31-i);
}
printf("num2=%d\n",value);
printf("num1转换后二进制(num1): ");
for(i = 31;i >= 0;i--)
{
printf("%d",arr[i]);
if(i%4 == 0)
{
printf(" ");
}
}
printf("\n");
}
int main()
{
int num=0;
printf("请输入数字(num1): ");
scanf("%d",&num);
reverse_bit(num);
return 0;
}本文出自 “花开彼岸” 博客,请务必保留此出处http://zxtong.blog.51cto.com/10697148/1703542
原文:http://zxtong.blog.51cto.com/10697148/1703542