如何将十进制转换为二进制?
十进制数是公众最熟悉的数制。它是以 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 = 56 | 0 |
56 / 2 = 28 | 0 |
28 / 2 = 14 | 0 |
14 / 2 = 7 | 0 |
7 / 2 = 3 | 1 |
3 / 2 = 1 | 1 |
1 / 2 = 0 | 1 |
现在,从下到上(以相反的顺序)写下余数,这将是 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.625 | 1 |
0.6252 x 2= 1.25 | 1 |
0.252 x 2= 0.50 | 0 |
0.52 x 2= 1.0 | 1 |
0 x 2 = 0 | 0 |
现在,写下这些结果整数部分,这将是 0.11010,它是十进制小数 0.8125 的等效二进制小数。
2 的降幂和减法
此方法是猜测十进制数的二进制数。您需要绘制一个 2 的幂表,然后取给定的十进制数并将其从不返回负结果的最大可能的 2 的幂中减去。然后在表中将此幂的框中放入 1。重复这些步骤,直到数字大于零。在所有其他空框中放入 0,并获取输出,这将是给定十进制数的等效二进制数。对于整数部分,算法如下所述。
从制作图表开始。
查找 2 的最大幂。
移动到下一个较低的 2 的幂。
减去每个可以容纳的连续数字,并用 1 标记它。
继续直到到达图表的末尾。
写出二进制答案。
示例 - 将十进制数 205 转换为二进制数。
取 2 的幂表,
十进制 | 27 = 128 | 26 = 64 | 25 = 32 | 24 = 16 | 23 = 8 | 22 = 4 | 21 = 2 | 20 = 1 |
二进制 | 1 | 1 | 0 | 0 | 1 | 1 | 0 | 1 |
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.