一 进制介绍
- 二进制(Binary):
- 基数:2
- 使用的符号:0、1
- 在计算机中的使用场景:计算机内部以二进制形式存储和处理数据。所有的数字、文本、图像等最终都会被转换成二进制的形式进行处理。CPU的指令也是以二进制形式表示的。
- 举例:十进制数42在二进制中表示为101010。
- 八进制(Octal):
- 基数:8
- 使用的符号:0、1、2、3、4、5、6、7
- 在计算机中的使用场景:在计算机编程中,八进制常用于表示一些特定的权限或者掩码。在现代计算机中,使用较少,而更常见的是使用十六进制。
- 举例:十进制数56在八进制中表示为70。
- 十进制(Decimal):
- 基数:10
- 使用的符号:0、1、2、3、4、5、6、7、8、9
- 在计算机中的使用场景:十进制是我们日常生活中最常用的数字系统,但在计算机内部并不直接使用。计算机最终会将输入的十进制数转换为二进制进行处理。
- 举例:十进制数123表示为123。
- 十六进制(Hexadecimal):
- 基数:16
- 使用的符号:0、1、2、3、4、5、6、7、8、9、A(或a)、B(或b)、C(或c)、D(或d)、E(或e)、F(或f)
- 在计算机中的使用场景:十六进制在计算机领域中非常常见,因为它能够简洁地表示大量的二进制数据,比如内存地址、颜色值等。
- 举例:十进制数255在十六进制中表示为FF。
进制图示:
十进制 | 二进制 | 八进制 | 十六进制 |
---|---|---|---|
0 | 0 | 0 | 0 |
1 | 1 | 1 | 1 |
2 | 10 | 2 | 2 |
3 | 11 | 3 | 3 |
4 | 100 | 4 | 4 |
5 | 101 | 5 | 6 |
6 | 110 | 6 | 6 |
7 | 111 | 7 | 7 |
8 | 1000 | 10 | 8 |
9 | 1001 | 11 | 9 |
10 | 1010 | 12 | A |
11 | 1011 | 13 | B |
12 | 1100 | 14 | C |
13 | 1101 | 15 | D |
14 | 1110 | 16 | E |
15 | 1111 | 17 | F |
16 | 10000 | 20 | 10 |
17 | 10001 | 21 | 11 |
二 进制转换
当进行进制转换时,需要按照每位数字的权重进行计算。对于不同的进制,权重的计算方式也会有所不同。
2.1 其它进制转十进制
- 二进制转十进制:
- 计算方法:从右往左,每一位数字乘以对应的权重(2的幂),然后将所有结果相加。
- 举例:将二进制数1011转换为十进制。
1×2^3 + 0×2^2 + 1×2^1 + 1×2^0 = 8+0+2+1 =11
因此,二进制数1011转换为十进制为11。
- 八进制转十进制:
- 计算方法:从右往左,每一位数字乘以对应的权重(8的幂),然后将所有结果相加。
- 举例:将八进制数47转换为十进制。
4×8^1 + 7×8^0 =32+7=39
因此,八进制数47转换为十进制为39。
- 十六进制转十进制:
- 计算方法:从右往左,每一位数字乘以对应的权重(16的幂),然后将所有结果相加。
- 举例:将十六进制数1A7转换为十进制。
1×16^2 +A×16^1 +7×16^0 = 256+10×16+7 =256+160+7 = 423
因此,十六进制数1A7转换为十进制为423。
2.2 十进制转其它进制
- 十进制转二进制:
- 计算方法:不断用2整除十进制数,并记录每次的余数(0或1),然后将这些余数倒序排列得到二进制数。
- 举例:将十进制数27转换为二进制。
27÷2=13(余1)
13÷2=6(余1)
6÷2=3(余0)
3÷2=1(余1)
1÷2=0(余1)
将这些余数倒序排列,得到二进制数:11011。
因此,十进制数27转换为二进制为11011。
- 十进制转八进制:
- 计算方法:不断用8整除十进制数,并记录每次的余数(0到7),然后将这些余数倒序排列得到八进制数。
- 举例:将十进制数125转换为八进制。
125÷8=15(余5)
15÷8=1(余7)
1÷8=0(余1)
将这些余数倒序排列,得到八进制数:175。
因此,十进制数125转换为八进制为175。
- 十进制转十六进制:
- 计算方法:不断用16整除十进制数,并记录每次的余数(0到F),然后将这些余数倒序排列得到十六进制数。
- 举例:将十进制数301转换为十六进制。
301÷16=18(余13) (13对应十六进制的D)
18÷16=1(余2)
1÷16=0(余1)
将这些余数倒序排列,得到十六进制数:12D。
因此,十进制数301转换为十六进制为12D。
2.3 二进制转其它进制
- 二进制转八进制:
- 举例:将二进制数1101101转换为八进制。
- 计算方法:首先将二进制数每三位一组进行分组,不足三位的在左侧补0,然后将每组转换为对应的八进制数。
1101101
001(1)101(5)101(5)
因此,二进制数1101101转换为八进制为155。
- 二进制转十六进制:
- 计算方法:首先将二进制数每四位一组进行分组,不足四位的在左侧补0,然后将每组转换为对应的十六进制数。
- 举例:将二进制数1011011101转换为十六进制。
1011011101
0010(2)1101(D)1101(D)
因此,二进制数1011011101转换为十六进制为2DD。
2.4 其它进制转二进制
- 八进制转二进制:
- 计算方法:将八进制数的每一位转换为对应的三位二进制数,然后将所有结果拼接起来。
- 举例:将八进制数073转换为二进制。
八进制数73的每一位对应的三位二进制数分别为:
7(111)3(011)
将这些二进制数拼接起来,得到二进制数:111011。
因此,八进制数73转换为二进制为111011。
- 十六进制转二进制:
- 计算方法:将十六进制数的每一位转换为对应的四位二进制数,然后将所有结果拼接起来。
- 举例:将十六进制数DEA转换为二进制。
十六进制数DEA的每一位对应的四位二进制数分别为:
D(1101)E(1110)A(1010)。
将这些二进制数拼接起来,得到二进制数:110111101010。
因此,十六进制数DEA转换为二进制为110111101010。
最后说明下 windows 系统自带的计算器功能
打开程序员界面之后,就可以看到对应的进制了
直接选择对应的进制输入就可以自动算出来其它进制的值