1.原码、反码、补码
正数:原码、反码、补码三值相同
负数:反码是按位取反,补码取反加1
负数这样设计的目的:减法可以使用加法器,降低CPU内部的复杂度
2.异或运算:同0异1
A.0和任何数异或是本身
B.自己和自己异或是0
C. A^ B=C<==>B=A^C
证:A ^ B=C–> A^ A^ B=A^ C–>0^ B=A^ C–>B=A^C
3.左移与右移
A.除了负数的右移高位补1,其它均在空位补0,这也是为什么会有无符号右移这种运算
B.无论正数还是负数,右移一位都是除二;但是左移的结果就可正可负了
C.
4.&和&&、|和||
||和&&都具有短路功能
5.Template.bitOperation.java