目录本篇默认你至少掌握了十进制(整数及小数)与二进制之间的互相转换,如果还不太熟悉,可以看看我的这篇博客《二进制详解 —— 从 18 元的生椰拿铁入手理解二进制 》哦~!
二进制↔️八进制
八进制的数码是 0-7,最大的 7 是二进制中第 0、1、2 位全为 1 能表示的大小(0B111 = 7
)。这代表,3 位二进制数就可以表示八进制数码中所有的数字。
所以,在二进制向八进制转换时,从右向左每 3 位进行 1 次转换,不够 3 位在缺位上补 0;在八进制向二进制转换时,1 位八进制数转换成 3 位二进制数。 将转换后的数字按顺序书写即可。
0B11010011 = 0323 //二进制向八进制转换
05371 = 0B101011111001 //八进制向二进制转换
- 用前缀
0B
表示二进制;前缀0
表示八进制
二进制↔️十六进制
与八进制的转换异曲同工,十六进制的数码是 0-9, A-F,A-F 不分大小写,分别表示数字 10~15。最大的 F 是二进制中第 0、1、2、3 位全为 1 能表示的大小(0B1111 = 15
)。这代表,4 位二进制数可以表示十六进制数码中所有的数字。
所以,在二进制向十六进制转换时,从右向左每 4 位进行 1 次转换,不够 4 位在缺位上补 0;在十六进制向二进制转换时,1 位十六进制数转换成 4 位二进制数。 将转换后的数字按顺序书写即可。
0B11010011 = 0xD3 //二进制向十六进制转换
0xF371 = 0B1111001101110001 //十六进制向二进制转换
- 用前缀
0x
表示十六进制
八进制↔️十六进制
八进制和十六进制之间不能之间转换,需要先转换成二进制。
0323 = 0B11010011 = 0xD3 //八进制向十六进制转换
0xF371 = 0B1111001101110001 = 0171561 //十六进制向八进制转换
二进制 | 八进制 | 十六进制 | 二进制 | 八进制 | 十六进制 |
---|---|---|---|---|---|
000 | 0 | 0 | 001 000 | 10 | 8 |
001 | 1 | 1 | 001 001 | 11 | 9 |
010 | 2 | 2 | 001 010 | 12 | A |
011 | 3 | 3 | 001 011 | 13 | B |
100 | 4 | 4 | 001 100 | 14 | C |
101 | 5 | 5 | 001 101 | 15 | D |
110 | 6 | 6 | 001 110 | 16 | E |
111 | 7 | 7 | 001 111 | 17 | F |
进制的前后缀
进制 | 英文 | 数码 | 前缀 | 后缀 |
---|---|---|---|---|
二进制 | Binary | 0-1 | 0B | B |
八进制 | Octal | 0-7 | 0 | O |
十进制 | Decimal | 0-9 | 无 | D(但一般不写) |
十六进制 | Hexadecimal | 0-9, A-F(不分大小写) | 0x | H |