二进制与十进制
1.二进制转十进制
从右往左开始,数每一位2的n次幂并相加,幂从0开始每次递增1
11101010 1*2^7+1*2^6+1*2^5+0*2^4+1*2^3+0*2^2+1*2^1+0*2^0=234
2.十进制转二进制
除以2除到商为0即止,再把余数倒序相连
234 234 /2 商 117 余 0
117 /2 商 58 余 1
58 /2 商 29 余 0
29 /2 商 14 余 1
14 /2 商 7 余 0
7 /2 商 3 余 1
3 /2 商 1 余 1
1 /2 商 0 余 1
234 的十进制是 1110 1010
二进制
高低位
最右边的是最低位,标记为第0位,向左边一位是第1位,这样一直到这个数据的最高位
占位
二进制每8位为一个字节
移位运算符
有助于理解HashMap扩容
运算符 | 含义运算符 | 例子 |
---|---|---|
<< | 左移运算符,将运算符左边的对象向左移动运算符右边指定的位数(在低位补0) | x<<3 |
>> | "有符号"右移运算 符,将运算符左边的对象向右移动运算符右边指定的位数。使用符号扩展机制,也就是说,如果值为正,则在高位补0,如果值为负,则在高位补1. | x>>3 |
>>> | "无符号"右移运算 符,将运算符左边的对象向右移动运算符右边指定的位数。采用0扩展机制,也就是说,无论值的正负,都在高位补0. | x>>>3 |