博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
编写函数返回值value的二进制模式从左到右翻转后的值
阅读量:4030 次
发布时间:2019-05-24

本文共 710 字,大约阅读时间需要 2 分钟。

编写函数:

unsigned int  reverse_bit(unsigned int value);

这个函数的返回值value的二进制位模式从左到右翻转后的值。

例如:

32位机器上25这个值包含下列各位:

00000000000000000000000000011001

翻转后:(2550136832

10011000000000000000000000000000

程序结果返回:

          2550136832

观察输出的结果是将输入的数的二进制逆序排列的值。

代码如下:

#include
#include
unsigned int revease_bit(unsigned int val){ int i; unsigned int ret=0; for(i=0;i<32;i++) { ret<<=1;//for中两个语句不能互换 ret|=((val>>i)&1); /*val右移i位,和“1”进行与运算取出二进制每一位的值,再和ret或运算,最后移位,使其逆序排列。也可以用下面写法:(加头文件#include
) ret += ((num >> i) & 1)*pow(2, 31 - i); */ } return ret;}int main(){ unsigned int val; scanf("%u",&val); printf("%u\n",revease_bit(val));//%u为以无符号十进制输出 system("pause"); return 0;}

本文出自 “” 博客,请务必保留此出处

转载地址:http://pjlbi.baihongyu.com/

你可能感兴趣的文章
lua读写redis的环境部署
查看>>
Using MIT-Scheme in MacOS X on the Command Line
查看>>
php redis 接口说明
查看>>
cocos2dx使用lua和protobuf
查看>>
lua5.2 可能会遇到的一些错误
查看>>
C语言编译过程
查看>>
stirling formula prove
查看>>
关于数字类型转化为整型的方法
查看>>
PHP 常用正则表达式整理
查看>>
自然计算
查看>>
自然计算时间复杂度杂谈
查看>>
当前主要目标和工作
查看>>
系统菜单
查看>>
路漫漫其修远兮,吾将上下而求索(2)
查看>>
versions mac yosemite 下崩溃的修复
查看>>
github push 出现connection refused 的处理办法
查看>>
Linux配置sendmail实现PHP发送邮件
查看>>
c++ 特性回顾
查看>>
网站注册的时候,烦人的生日年份选择的改进想法
查看>>
游戏开发两年记 之 工程和理论需双剑合璧
查看>>