c++中移位和与运算符的含义
来源:互联网 发布:java 类似于w3c的网站 编辑:程序博客网 时间:2024/05/20 10:20
最近再做一些练习题,发现很多地方用到移位、与等运算代替了常用的乘除法。这样做可以从很大程度上提高程序的效率缩短程序运行时间。但是这样做对于我这样的初学者来说一下子不能快速理解,所以在这里记录下一些常用的运算以及他们所代表的含义:
给定一个无符号整数n = 15, 它的二进制数为1111,下面我们结合这个数说说各个运算的含义
(1)n >> 1;//将n向右移动一位,变为0111 = 7, 表示的数学含义是 n/2
(2)n << 1;//将n向左移动一位,变为11110 = 30,表示的数学含义是n * 2
(3)n & 0X1;//常用语判断n的奇偶性,如果n & 0X1 == 1 说明n的二进制中最后一位是1,即n是奇数
//如果 n & 0X1 == 0说明n的二进制位最后一位是0,即n是偶数
(4)n & (n-1);//所得结果是将n的最右边的1去掉
求一个数n的二进制位中1的个数
int counter = 0;
while(n)
{
++counter;
n = n & (n - 1);
}
n & (n - 1) == 0; 表示n是2的整数次幂
n & (n - 1) != 0; 表示n不是2的整数次幂
0 0
- c++中移位和与运算符的含义
- java 移位运算符中<<和>>运算
- C语言中数值的移位运算
- C语言的移位运算符
- 移位运算符<<与>>
- c程序中,右移位符>>表示什么含义
- 移位运算符"<<"和">>"
- C语言里的与(&)或(|)非(~)异或(^)和移位运算符(<<,>>)
- C语言的移位运算
- c中的移位运算符
- C语音移位运算符
- C语言移位运算符
- C语言移位运算符
- C语言移位运算符
- C语言移位运算符
- C/C++移位运算符
- JAVA中补码的运算;移位运算符
- C语言 移位运算符求解字符二进制中含1的个数
- html添加水平线
- Dagger2入门
- CentOS下Mysql误删恢复
- cms程序
- ORACLE同义词总结
- c++中移位和与运算符的含义
- raspberrypi更新源设置以及注意点
- python神经网络实现
- android 从图片获取二维码
- 如何做到同一个账号同一时段只能登录一个
- 误删除LAMP中mysql下的mysql数据库,造成mysql.user Table 不存在
- 关于Struts框架-简单应用及原理
- 剑指offer 19. 二叉树的镜像
- equals使用