各个进制的范围和前后缀
进制 |
英文 |
范围 |
前缀 |
后缀 |
二进制 |
Binary |
0-1 |
0b |
B |
八进制 |
Octal |
0-7 |
0o |
O |
十进制 |
Decimal |
0-9 |
0d |
D |
十六进制 |
Hexadecimal |
0-9, A-F |
0x |
H |
16进制用0x前缀或后缀H来表示十六进制,而2进制为0b为前缀或B来表示二进制。
16进制范围
16进制 |
0 |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
0 |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
A |
B |
C |
D |
E |
F |
通过“8421”计算出来的2进制和16进制转换的表格
来源自二进制:
二进制的“8421”计算出的16进制 | ||
---|---|---|
二进制 |
过程 |
十六进制 |
1111 |
=8*1 + 4*1 + 2*1+ 1*1 = |
15 =F |
1110 |
= 8*1 + 4*1+ 2*1 + 1*0 = |
14= E |
1101 |
= 8*1 + 4*1 + 2*0 + 1*1= |
13= D |
1100 |
= 8*1 + 4*1 + 2*0 +1*0 = |
12 = C |
1011 |
= 8*1 + 4*0 + 2*1 + 1*1 = |
11= B |
1010 |
= 8*1 + 4*0 + 2*1 + 1*0= |
10 =A |
1001 |
= 8*1 + 4*0 + 2*0 + 1*1= |
9=9 |
1000 |
= 8*1 + 4*0 + 2*0 + 1*0= |
8=8 |
0111 |
= 8*0 + 4*1 + 2*1 + 1*1= |
7=7 |
0110 |
= 8*0 + 4*1 + 2*1 + 1*0= |
6=6 |
0101 |
= 8*0 + 4*1 + 2*0 + 1*1= |
5=5 |
0100 |
= 8*0 + 4*1 + 2*0 + 1*0= |
4=4 |
0011 |
= 8*0 + 4*0 + 2*1 + 1*1= |
3=3 |
0010 |
= 8*0 + 4*0 + 2*1 + 1*0= |
2=2 |
0001 |
= 8*0 + 4*0 + 2*0 + 1*1= |
0=1 |
0000 |
= 8*0 + 4*0 + 2*0 + 1*0= |
0=0 |
关于左移和右移:
移位符号:左移位“ << ” 右移位用 “ >> ”
移位口诀:左移时最低位补0;右移时最高位补0。(通俗一点就是移走了的位置后面就跟着上去,空着位置就使用 0去补位置)
对于二进制0000 0001进行左移2位举例(如下图):
16进制转2进制换算和移位操作(换算可以直接查上面的表格,注意:4位一组)
16进制 |
2进制 |
2进制(<<2) |
16进制(<<2后) |
0xf0 |
1111 0000 |
1100 0000 |
0xc0 |
16进制 |
2进制 |
2进制(>>2) |
16进制(>>2后) |
0xf9 |
1111 1001 |
0011 1110 |
0x3e |