1.常用进制
项目 | 二进制 | 八进制 | 十进制 | 十六进制 |
---|---|---|---|---|
基本数字 | 0和1 | 0-7 | 0-9 | 0-9和a-f |
进位规则 | 2进1 | 8进1 | 10进1 | 16进1 |
2.二进制的位运算
运算符 | 含义 | 示例 | 规则 |
---|---|---|---|
& | 与运算 | 23 & 4 = 4 | 全1则1 |
| | 或运算 | 23 | 4 = 23 | 有1则1 |
^ | 异或运算 | 23 ^ 4 = 19 | 不同则1 |
~ | 反码 | ~23 = -24 | 取反 |
<< | 左移 | 23 << 2 = 92 | 左移右补0 |
>> | 右移 | 23 >> 2 = 5 | 右移左补0 |
>>> | 无符号右移 | 23 >> 2 = 5 |
2.1 与运算
23 & 4 = 4
0 0 0 1 0 1 1 1 & 0 1 0 0 = 0 1 0 0
2.2 或运算
23 | 4 = 23
0 0 0 1 0 1 1 1 | 0 1 0 0 = 0 0 0 1 0 1 1 1
2.3 异或运算
23 ^ 4 = 19
0 0 0 1 0 1 1 1 ^ 0 1 0 0 = 0 0 0 1 0 0 1 1
2.4 反码
2.5 左移
23 << 2 = 92
0 0 0 1 0 1 1 1
向左移动两位为:
0 1 0 1 1 1 0 0
2.6 右移
23 >> 2 = 5
0 0 0 1 0 1 1 1
向右移动两位为:
0 0 0 0 0 1 0 1
3. java 进制转换
3.1 十进制转其他进制
Integer.toBinaryString(20); // 转为二进制。
Integer.toHexString(20); // 转为十六制。
Integer.toOctalString(20); // 转为八进制。
3.2 其他进制转十进制
Integer.parseInt("00001101",2); // 二进制。
Integer.parseInt("17",8); // 八进制。
Integer.parseInt("A8",16); // 十六进制得。