关于位运算x&(x-1)等
来源:互联网 发布:阿里云服务器开放3306 编辑:程序博客网 时间:2024/05/21 12:48
比方说有这样一个题:判断一个数是不是2的幂怎么运算?
可能我们就要局限于常规的方法(此处不列举)
受启发于微博上的牛人 陈立人出的面试题:写出一行程序语言(任何编成语言都行)表达式,判断给定的整数是否是一个2的幂。
有网友就贴出超赞的答案x&(x-1)。说实话当时确实没看明白是怎么回事,偶然看到别人推荐的一本书hacker delight ,其开篇这样一段话:
use the following formula to turn off the rightmost 1-bit in a word,producing 0 if none( eg,01011000=>01010000)
x&(x-1)
这样我才领略到了其中的妙处
- 关于位运算x&(x-1)等
- (x&y) + ( (x^y)>>1 )位运算求平均数
- (x&y) + ( (x^y)>>1 )位运算求平均数
- 位与运算符 "&" 运算符 x=x&(x-1)
- 关于x&(x-1)
- 关于x&(x-1)
- Python3.X中的位运算符
- 面试宝典(PART II)位运算(II)X&(X-1)的几个运用
- 逻辑位运算小结4--x|y的最大值
- 关于x++与++x
- 关于x++和++x
- 采用位运算,如果想将整数的二进制某一位翻转可采用id^=(1<<x)(x代表要翻转的位置)
- 关于x=x++运算式运算结果为0的问题
- 关于X
- 关于x++
- 关于x=x+1、x+=1、x++的执行效率问题
- 关于application/x-www-form-urlencoded等字符编码的
- Java中关于x++与++x在运算中值的变化
- SQL Server 存储过程
- iphone5和iphone4的屏幕兼容问题
- SQL Server 事务、异常和游标
- B/S和C/S的区别
- Error link2001:unresolved external symbol _main ...(不少编程初学者遇到的问题)
- 关于位运算x&(x-1)等
- OpenCV训练分类器制作xml文档
- 指针数组赋值问题
- MySql使用全记录2 -----列操作(添加列、设定默认值、修改指定多条记录的列值)
- 解决浏览器与html内容空白的方法
- [图片处理]PHP对非标准格式的图片pjpeg上传失败的解决办法
- thinkphp cli 模式使用函数 使用 common
- 信号与系统1:引言
- NSAutoReleasePool使用中drain和release的区别