位操作——循环右移n位
来源:互联网 发布:飘逸传世登录器源码 编辑:程序博客网 时间:2024/06/11 13:59
把一个整数,循环右移n位,输出结果。循环右移的意思是,地位右移后出现在最左边。
例如:1100 0101,循环右移2位后,得到 0111 0001,最高的2bit是'01',就是原来最低2bit。
一个办法是循环来解决;
还有一个直接的办法,把地位n个bit直接挪到高位去。
此外,如果n很大,循环了1轮以上,那么只需要考虑n相对于位宽的余数。
unsigned int rotate_bits(unsigned int x, unsigned int n){ unsigned int nsize = 8*sizeof(x); //字节数要乘以8,才是位宽 n = n%nsize; //取余数就行了 unsigned int c = ~((~0)<<(nsize-n)); unsigned int b = (~((~0)<<n)&x)<<(nsize-n); unsigned int a = x>>(n); unsigned int r = b|(a&c); return r;}
0 0
- 位操作——循环右移n位
- Exe 字符串循环右移n位
- 字符串循环右移n位
- 字符串循环右移n位,函数
- 字符串循环右移N位算法
- 输入m位字符串循环右移n位
- 每日一题——字符串循环右移K位,时间复杂度O(N)
- 将一个unsigned型数据循环右移n位
- (1423)编写函数实现字符串循环右移n位
- char 组成的字符串循环右移N位
- 实现字符串循环右移N位(改进版)
- 编写一个函数,将字符串循环右移n位
- 如何把char字符串循环右移N位
- 字符串循环右移n位的函数
- 字符串循环右移动n位
- 实现将字符串右循环n位
- 实现字符串循环右移n 位与左移n位(建立数组)
- 字符串右移n位
- 负载均衡的几种实现技术
- Eclipse 下SVN上传项目遇到的问题及解决办法全集
- mysql数据库性能优化与测试
- muduo网络库脉络分析(2)
- java 简单gis软件 panel paint
- 位操作——循环右移n位
- 初创团队如何保障软件应用产品的性能质量
- Java中常量池的概念
- 我是一颗小太阳,浑身充满正能量
- 面试常规问题
- USB取证原理
- leetcode--258. Add Digits
- Spring字符集过滤器CharacterEncodingFilter
- java.lang.OutOfMemoryError: PermGen space的解决方法