java笔记(1)----------位运算


1.计算机用补码运算是为了解决减法运算的问题,如2-1=2+(-1),因此可以没有减法运算.
2.在看java官方api源码时发现很多地方用到了位运算,如ArrayList,LinkedList,HashMap等.位运算好像效率比加减乘除高,有待补充.
java中int类型占用4个字节,一个字节8位.也就是说一个int数字用32位表示,
如1:
00000000 00000000 00000000 00000001
如-1
10000000 00000000 00000000 00000001
例子:2-1==2+(-1)=1
2的补码:
00000000 00000000 00000000 00000010 (2为正数三码一样)
-1的补码:
源码:10000000 00000000 00000000 00000001
反码:11111111 11111111 11111111 11111110
补码:11111111 11111111 11111111 11111111
两者补码相加:
00000000 00000000 00000000 00000010
11111111 11111111 11111111 11111111
结果: 00000000 00000000 00000000 00000001
换成十进制为1
注意:1.结果是补码形式,但是符号位为0,为正数,三码一致,故也是源码,
2.若符号位为1,还要转为源码.
浙公网安备 33010602011771号