C中移位符的一个小应用
来源:互联网 发布:淘宝联盟采集器 编辑:程序博客网 时间:2024/06/05 22:58
转自《C和指针》
在写程序时,对于整数类型的值,不同的机器有着不同的存储位数,比如对于int类型,有的机器是32位的,有的是16位的,这样就涉及了程序的移植性问题。
现有如下需求:请编写函数unsigned int reverse_bits(unsigned int value),函数返回值为把value的二进制位前后颠倒后的结果,例如在16位机器上,1的二进制形式为0000 0000 0000 0001,函数返回值为1000 0000 0000 0000,编写函数时要注意不要让其依赖机器的整型值长度,以增强程序的可移植性。
实现如下:
unsigned int reverse_bits(unsigned int value){
unsigned int result=0,i=1;
for(;i!=0;i<<=1){//通过i移位直至为0来确定循环的次数,不依赖机器的整型值长度
result<<=1;
if(value&1){
result|=1;
}
value>>=1;
}
return result;
}
- C中移位符的一个小应用
- C语言中移位、逻辑运算符的简单应用
- 【C语言】统计一个数中1的个数(移位操作符)
- 【番外篇·C】移位的应用
- c语言中移位操作符的试验
- C语言中移位符需要注意的地方
- java中栈的一个小应用..
- 关于C语言中负数的移位
- C语言中数值的移位运算
- 移位的应用专题
- C语言的移位操作符
- C语言的移位操作符
- C语言的移位操作符
- C语言的移位操作符
- C语言的移位运算符
- ios开发中获取string宽度的一个小应用
- Shell中TMOUT变量的一个小应用
- 生活中图像处理的一个小应用
- 经典排序算法的汇总之插入排序
- hdu - 1052 - Tian Ji -- The Horse Racing
- Java基础---第九天 面向对象异常
- Java基础---第十天 面向对象异常
- 努力吧,现在也不晚
- C中移位符的一个小应用
- 经典排序算法的汇总之插入排序
- Oracle10G:透明数据加密技术(TDE)
- Leetcode 49 Anagrams
- 经典排序算法的汇总之基数排序
- 《Android 4游戏高级编程(第2版)》书评
- java零碎总结---java实现截图并保存到本地
- Mysql中文乱码问题完美解决方案
- Eclipse下Tomcat常用设置