文章目录
补充一下十进制和二进制的转换:
十进制转换为二进制
数字10,怎么转换为二进制呢?
10 / 2 = 5 余 0
5 / 2 = 2 余 1
2 / 2 = 1 余 0
1 / 2 = 0 余 1
从下到上,将余数拿出来,就是 1010,这就是数字10的二进制。
也就是不断的除以2并取余,直到除数结果为0,再将余数从下到上依次写下,即为结果
二进制转换为十进制
反过来看,1010 这个二进制怎么变成十进制呢?
1010 = 1 * 2的3次方 + 0 * 2的2次方 + 1 * 2的1次方 + 0 * 2的0次方 = 1 * 8 + 0 * 4 + 1 * 2 + 0 * 1 = 10
可以看到,从最高位开始,分别乘以2的N-1次方(从0开始计算)就变成了十进制数字
补充下hashmap中用到的位操作
符号 | 说明 |
---|---|
| | 位或 |
& | 位与 |
^ | 异或 |
~ | 取非 |
<< >> | 左移 右移 |
>>> | 带符号右移与无符号右移 |