2
已解决
包涵宇
中级天翼
中级天翼
我写的位运算大全
找出错误2+处者奖励100豆
a<<b a*2^b
a>>b a/2^b
a&b 与
100
&101
-----
100
a|b 或
100
&101
-----
101
a^b 异或
1010
^1001
------
0011
=============二进制操作==============
----------------easy-----------------
a>>1 去掉最后一位
a<<1 末尾加一个0
a|1 最后一位变为1
a^1 最后一位取反
a&1 取最后一位
a&3 取末两位
a&7 取末三位
--------------difficult--------------
(a<<1)+1 末尾加一个1
(a|1)-1 最后一位变为0
a&(a-1) 去掉a中的最后一个1
a|(a+1) 去掉a中的最后一个0
a&(a+1) 把a中右起的连续的1变为0
a|(a-1) 把a中右起的连续的0变为1
a&((1<<k)-1) 取末k位
a|(1<<(k-1)) 将右数第k位变为1
a&~(1<<(k-1)) 将右数第k位变为0
a^(1<<(k-1)) 将右数第k位取反
a^((1<<k)-1) 将末k位取反
a>>(k-1)&1 取右数第k位
(a^(a+1))>>1 取右边连续的1
(a^(a-1))&a 去掉右起第一个1的左边
附录:
========优先级(有关位运算)=========
1.()
2.+ - * / % ~
3.>> <<
4.&
5.^
6.|
PS:祝大家AK全场!
1
4
0
0
0
0
0
0
0
0
0
0
0