java位运算

&:按位与,两个都为1才为1

| :按位或,两个都为0才为0

^:按位异或,两个不同才为1   注意和按位或的区别,"1|1=1"而1^1=0

~:按位取反

>>:右移,相当于取整除,右移一位相当于除以2,右移n位相当于除以2的n次方。整体右移,高位空出来的用符号数字(正数0,负数1)补齐

<<:左移,相当于乘以2

>>>:无符号右移,意思是,不管符号,不管正负,高位补0。整体右移,高位补0

 判断奇数偶数

(n & 1) == 1 奇数 n%2 == 1

(n & 1) == 0 偶数 n%2 == 0

 a%b   如果b是2的n次方,用位运算    a&(b-1)  

位运算要比普通的乘除快很多,性能好。编程时可以注意这一点

好文:https://www.cnblogs.com/zhengtao/articles/1916751.html

原码,反码,补码: https://www.cnblogs.com/yinzhengjie/p/8666354.html

 计算机存储,不论正负,都用的是补码

原文地址:https://www.cnblogs.com/heyboom/p/9051624.html