【非递归】判断一个整数是否能表示成2的指数形式(已附weapon0916兄的高效解法)
来源:互联网 发布:小球发射java源代码 编辑:程序博客网 时间:2024/06/03 16:54
问:判断一个整数是否能表示成2的指数形式
思路:若x是2的指数倍的整数,那它的二进制位串中只有一位是1。
weapon0916兄的意见很有见地,我后来又自己细想了一下,代码改为
原因我是这样想的:若x是2的指数倍的整数,那它的二进制位串中只有一位是1。即是说,其他非2的幂次的数—假设是y—的比特串都包含2个以上的1,那么,当n-1时,x位串上的那个1要么移位(向高位借位),要么消失;而y最右边的那个1可能消失(处于0位)也可能向左移(向高位借位),但最左边的那个1一定不会有任何改变,所以x&(x-1) == 0 而 y&(y-1) != 0。
- 【非递归】判断一个整数是否能表示成2的指数形式(已附weapon0916兄的高效解法)
- 判断是否为2的幂||输出一个整数二进制格式中1的个数 非循环非递归实现
- 写一个函数,判断一个int型的正整数是否是2的幂,即是否可以表示成2^X的形式(不可以用循环)
- 写一个函数,判断一个int型的正整数是否是2的幂,即是否可以表示成2^X的形式(不可以用循环)
- 判断一个数是否是2的指数倍
- 如何判断一个整数x是否可以表示成n个连续正整数的和
- 判断一个字符串是否为回文的非递归算法
- 判断一个整数x是否可以表示成n(n>=2)个连续正整数的和
- 高效的八皇后问题非递归解法
- 字符串形式表示的整数的范围判断
- 如何判断并求出一个整数x是否可以表示成n(n>=2)个连续正整数的和。
- 如何判断一个非负整数是否是2的幂
- 如何判断一个非负整数是否是2的幂
- 判断一个非负整数是否为2的n次幂?-by大彬
- 判断一个整数是否是2的整数次幂
- 判断一个整数是否为2的整数次幂
- 求一个32位整数的二进制表示形式
- C语言中运用“非”判断一个整数是否能被5整除
- 传说中的网易测试题目
- 常用正则表达式密码验证实例
- php 三种跳转方法
- ibaties(applicationContext.xml)
- 在windows下安装collabnet subversion server 1.6.5
- 【非递归】判断一个整数是否能表示成2的指数形式(已附weapon0916兄的高效解法)
- Oracle数据导入导出imp/exp就相当于oracle数据还原与备份
- 热点
- c#快速导出到Excel
- 条款47:请使用traits classes表现类型信息(2)
- 纯真ip数据库格式详解:
- 内存相关函数(堆)
- JAR WAR
- “无人值守”怎么说