Java 位运算符
稍微看了下,HashMap的源码,发现基础的运算符 都不记得了
再回顾一下 稍做记录
原码,补码,反码
- 正数:原码=补码=反码
- 负数:反码=符号位不变,其余取反
补码=反码+1
这篇博文讲的不要太好
-
https://www.cnblogs.com/zhangziqiu/archive/2011/03/30/ComputerCode.html
-
解决原码做减法的问题, 出现了反码
-
为解决0的符号以及[0000 0000]原和[1000 0000]原两个编码表示0.的问题出现补码,而且可以用[1000 0000]表示-128
-
8位二进制, 使用原码或反码表示的范围为[-127, +127], 而使用补码表示的范围为[-128, 127]
&
全为真则真,如下4&8结果为0

|
一个为真即为真,如下4|8结果为12

^
不同则为真,如下4^8结果为12

<<
4<<1=8

>>
4>>1=2

~
取反,~4的值为-5

>>>
❀❀ (ง •_•)ง little little 🦆🦆 ❀❀❀❀ ♕♕♕♕♕

浙公网安备 33010602011771号