当前位置: 首页 > 编程笔记 >

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

洪承天
2023-03-14
本文向大家介绍如何将小数转换为二进制?,包括了如何将小数转换为二进制?的使用技巧和注意事项,需要的朋友参考一下

十进制数是公众最熟悉的数字系统。它是基数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 = 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的等效二进制数。

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

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

  • 首先制作图表。

  • 寻找2的最大力量。

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

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

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

  • 写出二进制答案。

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

取2的幂表

小数 2 7 = 128 2 6 = 64 2 5 = 32 2 4 = 16 2 3 = 8 2 2 = 4 2 1 = 2 2 0 = 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.
 类似资料:
  • 本文向大家介绍如何将小数转换为八进制?,包括了如何将小数转换为八进制?的使用技巧和注意事项,需要的朋友参考一下 十进制是公众最熟悉的数字系统。它是基数10,只有10个符号-0、1、2、3、4、5、6、7、8和9。而八进制是表示数字的数字系统之一。它是基数8,只有8个符号-0、1、2、3、4、5、6和7。 从十进制转换为八进制数字系统 有多种直接或间接的方法可以将十进制数转换为八进制数。在间接方法中

  • 本文向大家介绍如何将八进制转换为二进制?,包括了如何将八进制转换为二进制?的使用技巧和注意事项,需要的朋友参考一下 八进制数是基数为8的数字系统之一,这意味着只有8个符号−0、1、2、3、4、5、6和7。而二进制数是数字系统、网络和计算机专业人员最熟悉的数字系统。基2只有2个符号−0和1,这些数字可以分别用off和on表示。 从八进制转换为二进制数制 将八进制数转换成二进制数有多种直接或间接的方法

  • 问题内容: 在我的Android应用程序中。我从jpeg图像的代码中获取了二进制代码,如下所示。 该字符串s打印图像的二进制值。我的问题是如何将这种二进制格式转换为jpeg图像? 问题答案: 我不太确定你想要什么 如果要直接从流中创建-instance,则可以使用 它,然后在-instance中显示它: imageView.setImageBitmap(image); 如果要将基数2的字符串表示形

  • 问题内容: 如何在Swift中将Int转换为UInt8?例。我想将数字22转换为0b00010110 问题答案: 您可以使用带有参数的初始化程序将十进制值转换为人类可读的二进制 表示形式 : 如果您愿意,也可以很容易地用任意数量的零填充它: 斯威夫特5

  • 问题内容: 我需要将小数转换为分数。转换成10英尺很容易。 这可以通过以下代码完成: 但是我想要的是 而且我不知道如何进行。我的问题不是重复。因为其他相关问题是C#。这是java。 问题答案: 您应该找到结果数的最大公约数,然后除以分子和分母。 这是一种实现方法:

  • 问题内容: 我想知道如何在Python中将小数转换为最低形式的分数。 例如: 问题答案: 您有两种选择: 用途: (1, 4) (从Python 3.6开始,您可以对对象执行相同的操作。) 使用类型: Fraction(0.25) Fraction(1, 4) 后者具有非常有用的转换: 由于浮点值可能不精确,因此您可能会得到“奇怪”的分数;限制分母以某种程度“简化”分数,方法是: 如果您仍在使用P