- API介绍
- API接口
- 定价
二进制小数转换器
将整数转换为二进制很容易;那么转换小数部分呢?通过我们的二进制小数转换器学习如何做到这一点。
通过我们更好地了解您的计算机。在这里,我们将教您:
- 什么是二进制小数。
- 我们在哪里使用二进制小数。
- 计算机的局限性及其对舍入的影响。
- 如何从十进制小数转换为二进制小数,反之亦然。
- 如何使用我们的二进制小数转换器——这很简单,相信我们!
计算机以1和0的形式思考——这就是二进制代码,它无处不在。窥视这个转换器的背后,您会看到很多这样的数字!
如何将小数转换为二进制
将十进制小数转换为二进制并不困难。取任何十进制小数:我们选择0.2912。确保整数部分是0。
- 现在,将其乘以2,看看会发生什么。
- 整数部分保持为0:这是二进制小数的第一个元素,0.0...。重复这个步骤;这次我们会看到不同的结果。
- 整数部分现在是1:我们二进制小数的第二个元素将是1:0.01...。
- 移除整数部分(减去1),然后一次又一次地重复这些步骤;您的二进制小数将会增长!
它不会停止!为什么二进制小数仍在增长?让我们在下一节中看看原因。
二进制小数转换公式
数学原理:这种转换基于将十进制小数循环乘以2并将乘以2后的整数部分记录下来,直到十进制部分为0或达到所需精度为止,这与二进制数的定义和表示有关。
数值含义:在结果中,每个'1'表示在给定位置乘以2的累加值大于或等于1,'0'表示小于1。结果值用于计算机内用于高效率和精确度表示。
概念比较:与整数转换不同,小数可能无法完全转换成精确的二进制形式。只有当小数分母是2的幂时,才能得到精确的二进制表示。因此,某些小数转换可能会导致精确度损失。
二进制小数转换示例
让我们以0.75为例来演示转换过程:
计算过程:
步骤1:输入小数0.75
步骤2:0.75 × 2 = 1.50,记录1并减去1 => 0.50
步骤3:0.50 × 2 = 1.00,记录1
最后结果:'0.11'
因此,十进制0.75转换为二进制是0.11。
您注意到它的分母只有一个质因数2吗?通过这样输入数字,我们隐含地假设它是一个有限的二进制小数!
二进制小数的局限性
二进制小数不能完美地表示每个十进制小数。具有有限十进制位数的十进制小数(有理数)完全可能具有无限长的二进制表示。这种转换会导致错误,错误的大小取决于表示的位数。
计算机内存限制:由于计算机的内存有限——它们只能计算到一定的位数——一些允许精确表示十进制小数的贡献可能会被遗漏。
考虑分数1/5,在8位表示中。这是一个有限分数:8位表示中的误差为零。但在二进制表示中,转换会产生0.2−0.19921875=0.000781的误差:很小,但不可忽略。
精度考虑:在现代计算机中,截断发生在第23位或第52位,即单精度和双精度浮点变量的精度。前面例子中的23位截断的误差等于7.15⋅10^-8:极其小,但仍然存在。
十进制小数的二进制表示只有在2是分母的唯一质因数时才是精确的:1/2、3/8和1013/1024都有精确的表示,另一方面,1/5或1/10总是有误差。
如何使用我们的二进制小数转换器
您可以使用我们的二进制小数转换器从十进制小数转换为二进制,以及从二进制小数转换为十进制。记住选择正确的一个!
选择您在表示中需要的位数。您将无法输入超过该数字的位数。结果将被截断而不是四舍五入!
这里有一个例子:选择从二进制到十进制,选择4位,并输入0.1010。结果是0.625,或5/8。
如果您需要与我们默认提供的位数不同的位数,请选择自定义选项并在出现的字段中插入所需的值。如果您想再次使用默认值,请记住刷新计算器!
我们希望我们的二进制小数转换器帮助您学习这个不那么直接的主题。我们有许多其他二进制计算器:尝试我们的二进制算术计算器,或专用工具:二进制乘法计算器、二进制加法计算器。
常见问题
所有小数都可以转换为二进制吗?
不是所有小数都可以精确转换为二进制:只有当分母是2的幂时,二进制小数才是有限的。在其他所有情况下,表示中都会有误差。误差的大小取决于用于表示它的位数。
如何将小数转换为二进制?
取一个十进制小数并开始将小数部分乘以2。每当结果小于1时,在二进制表示中添加0。如果结果大于或等于1,在二进制表示中添加1并从乘法结果中减去1。继续乘法,直到结果为0或达到所需的位数。
如何用二进制表示0.5?
将0.5乘以2:0.5 × 2 = 1.0。由于结果是1,在二进制小数中添加1:0.1。数字的剩余小数部分为零;因此,表示完成!
0.1101用十进制表示是什么?
要从二进制转换为十进制,您必须将对应于二进制小数中1的位置的2的负幂相加。在0.1101的情况下,您需要相加:(1/2 × 1) + (1/4 × 1) + (1/8 × 0) + (1/16 × 1) = 13/16 = 0.8125。
| 参数名 | 参数类型 | 默认值 | 是否必传 | 描述 |
|---|---|---|---|---|
| decimalFraction | number | 否 | 输入一个十进制小数。 |
| 参数名 | 参数类型 | 默认值 | 描述 |
|---|---|---|---|
| result | string | 转换后的二进制小数结果。 |
| 错误码 | 错误信息 | 描述 |
|---|---|---|
| FP00000 | 成功 | |
| FP03333 | 失败 |
参考上方对接示例
