如何将小数转换为二进制?

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

从十进制转换为二进制数字系统

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

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

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

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

(a)余数除以2进行短除(整数部分)

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

  • 以小数点为分红。

  • 将该数字除以2(此处2是二进制的基数,因此除数)。

  • 将余数存储在数组中(由于除数2的缘故,它将为0或1)。

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

  • 以相反的顺序打印数组(它将等于给定十进制数字的二进制数字)。

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

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

由于给定的数字是十进制整数,因此通过使用上述算法,将余数除以2。

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

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

但是上述方法无法转换混合的小数部分(带整数和小数部分的数字)十进制数。对于小数部分,该方法说明如下。

(b)对结果进行2的短乘运算(对于小数部分)

设小数部分为M,然后将该数字与2相乘,因为二进制数字系统的底数为2。记下整数部分的值,该值将为0或1。再次乘以剩余的小数部分直到其变为0,并记下每个每个步骤的结果的整数部分。然后写出整数部分的注释结果,该结果将是给定十进制数的等效分数二进制数。这是转换小数十进制数的过程,算法如下。

  • 以十进制数为被乘数。

  • 该数字乘以2(2是二进制的基数,因此在此乘数)。

  • 将result的整数部分的值存储在数组中(由于乘数2,它将为0或1)。

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

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

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

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

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

乘法结果整数部分(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幂中减去它,该幂不返回结果数负数。然后将1放入表格中具有此功效的那个框中。重复这些步骤,直到数字大于零。在所有其他空白框中输入0,然后输出等于给定十进制数的二进制数。对于整数部分,算法说明如下。

  • 首先制作图表。

  • 寻找2的最大力量。

  • 移至下一个较低的2的幂。

  • 减去每个合适的连续数字,并用1标记。

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

  • 写出二进制答案。

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

取2的幂表

小数2 7 = 1282 6 = 642 5 = 322 4 = 162 3 = 82 2 = 42 1 = 22 0 = 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.