理解二进制、十六进制、十进制和八进制:不同进制间的转换


在计算机世界中,我们经常会遇到不同的进制,如二进制、十六进制、十进制和八进制。这些进制用于表示和处理数字。让我们一起来了解它们之间的转换方法。

十进制(十进制):我们常用的数字系统

十进制是我们日常生活中最常用的数字系统。它是基于10的系统,包含数字0到9。我们使用十进制来计数、计算和表示数字。

举个例子,当我们看到数字87时,我们理解它表示的是八十七。

二进制(二进制):计算机的基础

二进制是计算机中最基本的数字系统。它是基于2的系统,只包含0和1这两个数字。计算机内部的所有信息都以二进制形式存储和处理。

举个例子,数字1010在二进制中表示的是十进制的10。

在二进制中,每一位数字称为位(bit)。八位的二进制数字组成一个字节(byte)。二进制是计算机中理解和表示数据的基础。

十六进制(十六进制):简化二进制表示

十六进制是一种常用的数字系统,它是基于16的系统,包含数字0到9和字母A到F,分别表示10到15。它经常用于简化二进制表示。

举个例子,二进制数1111可以用十六进制表示为F。

由于十六进制可以表示较长的二进制数,因此它在计算机中广泛使用。每两位二进制数字对应一个十六进制数。

八进制(八进制):简化二进制表示

八进制是一种数字系统,它是基于8的系统,包含数字0到7。类似于十六进制,八进制经常用于简化二进制表示。

举个例子,二进制数111可以用八进制表示为7。

八进制每三位二进制数字对应一个八进制数。

进制转换方法

现在让我们来看看不同进制之间的转换方法:

二进制转十进制

  • 将二进制数的每一位乘以2的幂,幂的值从右向左依次为0、1、2、3…
  • 将得到的结果相加,即可得到十进制数的值。

举个例子,二进制数101转换为十进制:

1
1 * 2^2 + 0 * 2^1 + 1 * 2^0 = 4 + 0 + 1 = 5

十进制转二进制

  • 将十进制数不断除以2,直到商为0为止,记录每一步的余数。
  • 将得到的余数按照计算的顺序从下往上排列,得到二进制数。

举个例子,十进制数10转换为二进制:

1
2
3
4
10 ÷ 2 = 5 余 0
5 ÷ 2 = 2 余 1
2 ÷ 2 = 1 余 0
1 ÷ 2 = 0 余 1

从下往上排列余数,得到二进制数1010。

十进制转十六进制

  • 将十进制数不断除以16,直到商为0为止,记录每一步的余数。
  • 将得到的余数按照计算的顺序从下往上排列,将10到15分别用A到F表示,得到十六进制数。

举个例子,十进制数23转换为十六进制:

1
2
23 ÷ 16 = 1 余 7
1 ÷ 16 = 0 余 1

从下往上排列余数,将10到15分别用A到F表示,得到十六进制数17。

十六进制转十进制

  • 将十六进制数的每一位乘以16的幂,幂的值从右向左依次为0、1、2、3…
  • 将得到的结果相加,即可得到十进制数的值。

举个例子,十六进制数AB转换为十进制:

1
10 * 16^1 + 11 * 16^0 = 160 + 11 = 171

十进制转八进制

  • 将十进制数不断除以8,直到商为0为止,记录每一步的余数。
  • 将得到的余数按照计算的顺序从下往上排列,得到八进制数。

举个例子,十进制数27转换为八进制:

1
2
27 ÷ 8 = 3 余 3
3 ÷ 8 = 0 余 3

从下往上排列余数,得到八进制数33。

八进制转十进制

  • 将八进制数的每一位乘以8的幂,幂的值从右向左依次为0、1、2、3…
  • 将得到的结果相加,即可得到十进制数的值。

举个例子,八进制数62转换为十进制:

1
6 * 8^1 + 2 * 8^0 = 48 + 2 = 50

进制转换的小数

当涉及到小数的转换时,我们可以将小数部分分别转换为不同进制,然后将整数部分和小数部分的转换结果合并在一起。

以十进制转二进制为例,我们将整数部分和小数部分分开处理:

十进制整数部分转二进制

  • 将十进制整数部分不断除以2,直到商为0为止,记录每一步的余数。
  • 将得到的余数按照计算的顺序从下往上排列,得到二进制数的整数部分。

例如,将十进制整数部分14转换为二进制:

1
2
3
4
14 ÷ 2 = 7 余 0
7 ÷ 2 = 3 余 1
3 ÷ 2 = 1 余 1
1 ÷ 2 = 0 余 1

从下往上排列余数,得到二进制整数部分1110。

十进制小数部分转二进制

  • 将十进制小数部分乘以2,取整数部分作为二进制小数的一位。
  • 将得到的整数部分作为新的小数部分,再次乘以2,重复上述步骤,直到小数部分为0或达到所需的精度。

例如,将十进制小数部分0.375转换为二进制:

1
2
3
0.375 × 2 = 0.75,整数部分为0
0.75 × 2 = 1.5,整数部分为1
0.5 × 2 = 1.0,整数部分为1

依次取得的整数部分,得到二进制小数部分0.011。

最后,将整数部分和小数部分合并,得到完整的二进制数14.375。

其他进制的小数转换也是类似的原理,只需要将对应的进制数应用于整数和小数部分即可。