您的位置:首页 > 其它

算法题——翻转一个数

2015-11-13 23:40 190 查看
问题描述,翻转一个数的二进制位,例如将25翻转到2550136832

25:0000 0000 0001  1001 ----->  1001 1000 0000 0000 (2550136832)

#include<stdio.h>
unsigned int  reverse_bit(unsigned int value)
{
unsigned int val = 0;
int i = 0;
for (i = 0; i < 31; i++)
{
if (value & 1 == 1)
{
val = val | 1;
}
value >>= 1;
val <<= 1;
}
return val;
}
int main()
{
printf("%u\n",reverse_bit(25));
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: