关于位运算(>>,<<,|,&,^)的笔记总结

1:& (与运算符)

两个同为1,才为1,否则为0

2:|  (或运算)

一个为1,即为1

3:^   (异或运算)

两个不同,为1,否则为0

4:<< (左移运算符)

各二进位全部左移若干位,高位丢弃,低位补0

比如:1<<7:10000000

5:>> (右移运算符)

各二进位全部右移若干位,高位补0

比如:获取一个数x的第i位的二进制数:

int u = x>>i&1;

对于x=10,i=1,即右移一位

10的二进制为:1010

10>>1的二进制就为101了。

再&1,就得出第1位(i位)(对原x的位数从0开始从右往左计)的位置是0还是1了。即为转二进制操作。

原文地址:https://www.cnblogs.com/liyexin/p/13914911.html