#include<stdio.h> #include<math.h> typedef unsigned int uint; uint reverse_bit(uint x) { uint i, ret=0; for (i = 0; i < 32; i++) { ret += ((x >> i) & 1)*pow(2, 31 - i); //实际上没有翻转,只是从最低位向最高位扩展求得 } return ret; } int main() { unsigned int num, back; printf("请输入一个整数:"); scanf_s("%u", &num); back = reverse_bit(num); printf("翻转后的值为:%u\n", back); system("pause"); return 0; }
【C语言】 求一个数的二进制反转后的值
原创
©著作权归作者所有:来自51CTO博客作者Vs吕小布的原创作品,请联系作者获取转载授权,否则将追究法律责任
下一篇:【C语言】 提取子字符串
提问和评论都可以,用心的回复会被更多人看到
评论
发布评论
相关文章
-
求一个数的二进制数中所含1的个数的代码实现
求一个数的二进制数中所含1的个数的代码实现
c 一个整数的二进制中1的个数 与运算 #include