将偶数的二进制反转
来源:互联网 发布:常见面试算法题 编辑:程序博客网 时间:2024/06/11 18:48
例如6的二进制为110,反转后就是011(倒过来了)
int n = 6;
int bit;
intrn; // 保存反转得到的结果
while(n)
{
bit = n % 2; // 相当于取得是6的最低位0,以2取余就是取二进制的低位
rn = bit + rn*2;
// 二进制110,算十进制是1x22 + 1x21 + 1x20,rn*2
// rn所得的,就是每次循环取到的逆转的二进制位(原来的低位,如今的高位)再加上上一次所得结果(原来的高位,如今的低位)
n = n/2; // 除以2,也就相当于右移一位,>>1
}
还有另外一种写法:
while(k)
{
rn <<= 1;
rn |= (k & 1);
k >>= 1;
}
k = rn;
输入奇数程序也不会出错,不过奇数的二进制反转了跟没反转都一个样,分析一下奇数就可以发现奇数的二进制一般都是对称的,所以,对于对称的奇数来说,反转了也没啥区别。
0 0
- 将偶数的二进制反转
- 将偶数二进制反转
- 输入n个数,请将其中的偶数的二进制反转。
- [代码模板]将一个32位的二进制串反转
- 二进制的反转操作
- 将一个整数的二进制表示的奇数位与偶数位交换位置
- 将一个整数的二进制奇数位和偶数位互换
- 写一个宏可以将一个数字的奇数位和偶数位(二进制)交换。
- 使用宏将数字的二进制奇数位偶数位交换
- 将无符号数对应二进制反转
- 二进制的偶数位与奇数位
- 二进制反转
- 偶数二进制位反转(JAVA)
- 10进制的二进制反转输出
- 将输入的字符串反转
- 巧妙获取二进制数的奇数序列和偶数序列
- 机试:反转一个二进制数并输出反转之后二进制的十进制值是多少
- 使用宏将一个数二进制中的奇数位和偶数为进行交换。
- 组件映射与继承映射
- 二分查找的算法思想和实现过程
- 详解Java集合框架的接口和类层次关系
- Android 实战美女拼图游戏 你能坚持到第几关
- 64位整型使用
- 将偶数的二进制反转
- HttpServletRequest 和 HttpServletResponse对象
- github
- SQL语句中SUM与COUNT的区别深入分析
- 2022海选女主角
- mybatis ehcache的一点小记
- eclipse jad 反编译 插件安装
- Json解析较为复杂的数据(Map中含有List)从服务器获取城市数据实现三级联动
- MyEclipse取消验证Js的两种途径【转】