博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
常用位运算
阅读量:7294 次
发布时间:2019-06-30

本文共 705 字,大约阅读时间需要 2 分钟。

C/C++语言提供的位运算符有:

 

运算符 含义 功能
& 按位与 如果两个相应的二进制位都为1,则该位的结果值为1;否则为0。
| 按位或 两个相应的二进制位中只要有一个为1,该位的结果值为1。
按位异或 若参加运算的两个二进制位同号则结果为0(假)异号则结果为1(真)
取反 ~是一个单目(元)运算符,用来对一个二进制数按位取反,即将0变1,将1变0。
<< 左移 左移运算符是用来将一个数的各二进制位全部左移N位,右补0。
>> 右移 表示将a的各二进制位右移N位,移到右端的低位被舍弃,对无符号数,高位补0。

1.判断奇偶

1 bool isOdd( int num ) 2 {
3 return ( num & 1 ) ; 4 }

2.判断num是否是2的正整数幂

比如说2、4、8、16、32.......

4 = 00000100 ;  4-1 = 00000011;

! (n & ( n - 1 ) )= 1 ;

排除0的情况 最后 && n ;

 

1 bool isPowerOfTwo( int n ) 2 {
3 if ( ( (!(n&(n-1)) ) && n) == 1 ) 4 return true; 5 else 6 return false; 7 }

3.判断

posted on
2011-12-22 20:25 阅读(
...) 评论(
...)

转载于:https://www.cnblogs.com/lzhenf/archive/2011/12/22/2298378.html

你可能感兴趣的文章
java基础-可执行jar包
查看>>
android 中使用ExpandableListView控件结合服务器json文件的下载
查看>>
万能的Entry,两个变量的Model/JavaBean再也不用写了!
查看>>
日常总结:自学操作系统基础的一些领悟
查看>>
fping安装配置
查看>>
backbone.js全栈开发
查看>>
自我调节
查看>>
RocketMQ高性能之底层存储设计
查看>>
mybatis中的#和$的区别
查看>>
Linux系统安全审计工具Lynis
查看>>
阿里巴巴分布式服务框架 Dubbo 团队成员梁飞专访
查看>>
CMDB经验分享之 – 剖析CMDB的设计过程
查看>>
dell 远程访问管理卡iDRAC 7
查看>>
flash 遮罩层全解
查看>>
白话tensorflow分布式部署和开发
查看>>
命令行 sc delete 的使用(删除服务项)
查看>>
我的友情链接
查看>>
AIX死进程
查看>>
我的友情链接
查看>>
【年少的风】java继承测试--点与圆
查看>>