如何将十进制转换为二进制?


十进制数是公众最熟悉的数制。它是以 10 为基数,只有 10 个符号 - 0、1、2、3、4、5、6、7、8 和 9。而二进制数是数字系统、网络和计算机专业人员最熟悉的数制。它是以 2 为基数,只有 2 个符号:0 和 1,这些数字分别可以用关和开表示。

从十进制到二进制数制的转换

有各种直接或间接方法可以将十进制数转换为二进制数。在间接方法中,您需要将十进制数转换为其他数制(例如,八进制或十六进制),然后您可以通过将每个数字转换为二进制数来转换为二进制数。

示例 - 将十进制数 125 转换为二进制数。

First convert it into octal or hexadecimal number,
= (125)10
= (1x82+7x81+5x80)10
or (7x161+13x160)10
Because base of octal and hexadecimal are 8 and 16 respectively.
= (175)8
or (7D)16
Then convert it into binary number by converting each digit.
= (001 111 101)2
or (0111 1101)2
= (01111101)2

但是,有两种直接方法可用于将十进制数转换为二进制数:使用余数进行短除法(对于整数部分),使用结果进行短乘法(对于小数部分)以及使用 2 的降幂和减法。这些方法将在下面进行解释。

(a) 使用余数进行短除法(对于整数部分)

这是一种简单的方法,涉及到对要转换的数字进行除法。假设十进制数为 N,则将其除以 2,因为二进制数制的基数为 2。记下余数的值,它将为 0 或 1。再次除以剩余的十进制数,直到它变为 0,并记下每个步骤的每个余数。然后从下到上(或以相反的顺序)写下余数,这将是给定十进制数的等效二进制数。这是转换整数十进制数的过程,算法如下所示。

  • 将十进制数作为被除数。

  • 将此数除以 2(2 是二进制的基数,因此这里是除数)。

  • 将余数存储在一个数组中(由于除数为 2,因此它将为 0 或 1)。

  • 重复上述两个步骤,直到数字大于零。

  • 以相反的顺序打印数组(这将是给定十进制数的等效二进制数)。

请注意,被除数(此处为给定的十进制数)是被除的数,除数(此处为二进制的基数,即 2)是被除数除以的数,商(剩余的被除十进制数)是除法的结果。

示例 - 将十进制数 112 转换为二进制数。

由于给定的数字是十进制整数,因此使用上述算法使用余数进行短除法。

除法余数 (R)
112 / 2 = 560
56 / 2 = 280
28 / 2 = 140
14 / 2 = 70
7 / 2 = 31
3 / 2 = 11
1 / 2 = 01

现在,从下到上(以相反的顺序)写下余数,这将是 1110000,它是十进制整数 112 的等效二进制数。

但是上述方法不能转换混合(带有整数和小数部分的数字)十进制数的小数部分。对于十进制小数部分,方法如下所述。

Explore our latest online courses and learn new skills at your own pace. Enroll and become a certified expert to boost your career.

(b) 使用结果进行短乘法(对于小数部分)

假设十进制小数部分为 M,则将其乘以 2,因为二进制数制的基数为 2。记下整数部分的值,它将为 0 或 1。再次乘以剩余的十进制小数,直到它变为 0,并记下每个步骤的结果的每个整数部分。然后写下记录的整数部分的结果,这将是给定十进制数的等效小数二进制数。这是转换小数十进制数的过程,算法如下所示。

  • 将十进制数作为被乘数。

  • 将此数乘以 2(2 是二进制的基数,因此这里是乘数)。

  • 将结果的整数部分的值存储在一个数组中(由于乘数为 2,因此它将为 0 或 1)。

  • 重复上述两个步骤,直到数字变为零。

  • 打印数组(这将是给定十进制小数的等效小数二进制数)。

请注意,被乘数(此处为十进制小数)是被乘数乘以乘数(此处为基数 2,即 2)的数。

示例 - 将十进制小数 0.8125 转换为二进制数。

由于给定的数字是十进制小数,因此使用上述算法使用整数部分进行短乘法。

乘法结果整数部分 (R)
0.81252 x 2= 1.6251
0.6252 x 2= 1.251
0.252 x 2= 0.500
0.52 x 2= 1.01
0 x 2 = 00

现在,写下这些结果整数部分,这将是 0.11010,它是十进制小数 0.8125 的等效二进制小数。

2 的降幂和减法

此方法是猜测十进制数的二进制数。您需要绘制一个 2 的幂表,然后取给定的十进制数并将其从不返回负结果的最大可能的 2 的幂中减去。然后在表中将此幂的框中放入 1。重复这些步骤,直到数字大于零。在所有其他空框中放入 0,并获取输出,这将是给定十进制数的等效二进制数。对于整数部分,算法如下所述。

  • 从制作图表开始。

  • 查找 2 的最大幂。

  • 移动到下一个较低的 2 的幂。

  • 减去每个可以容纳的连续数字,并用 1 标记它。

  • 继续直到到达图表的末尾。

  • 写出二进制答案。

示例 - 将十进制数 205 转换为二进制数。

取 2 的幂表,

十进制27 = 12826 = 6425 = 3224 = 1623 = 822 = 421 = 220 = 1
二进制11001101


Subtract given number 205 from maximum possible power of 2,
= 205 - 128 = 77
Put 1 in box of 128 (= 27), then again subtract remaining number 77 from maximum possible power of 2,
= 77 - 64 =13
Put 1 in box of 64 (= 26), then repeat above steps,
= 13 - 8 =5
= 5 - 4 =1
= 1 - 1 =0
And put a 0 in remaining boxes. Therefore equivalent binary number will be 11001101 of given 205 decimal number.

更新于: 2023-10-31

86K+ 浏览量

开启你的职业生涯

通过完成课程获得认证

开始学习
广告