二进码十进数

这个在线计算器将十进制数转换为 BCD 表示法的二进制代码,反之亦然

当我完成了计算器数字系统之间的小数转换后,我以为这是关于数字系统的最后一篇。然而,出现了另一个原因。正如我在上面的链接中写到的,在将小数从一个数字系统转换到另一个数字系统的过程中,出现的问题是精度的损失。

例如,我使用了十进制的0.8,这不可能在没有精度误差的情况下被翻译成二进制系统。

由于十进制数字是人类的 "原生",而二进制数字是计算机的 "原生",(对于这些特定的数字系统)精度问题曾经得到了解决—二进码十进数(BCD)格式的发明。这个想法很简单—为每个十进制数字使用一个字节。而这个字节应该保存这个数字的二进制代码。然后,例如,0.8变成0.00001000。

再次考虑一下,这个想法被调整了。由于上面的小数点总是空的(因为9,最大是1001)—让我们对每个十进制数字只使用一个半字节。 这被称为压缩 BCD。 这就是所谓的打包BCD。
在打包的BCD中,0.8变成了0.1000,6.75变成了0110.01110101。

这是个好主意—没有精度损失,可以轻松地进行转换,四舍五入也很简单—只需移动不必要的半字节。但它并没有被广泛采用,因为它让使用计算机更加困难。BCD意味着需要更多的内存来保存数字,以及更复杂的数字运算方案。
所以它只是一个古老的好奇的东西,我对它一无所知,直到网站的用户告诉我这些。

这里是二进码十进数(BCD)的计算器。你可以输入十进制或打包的BCD,然后得到转换结果。当然,这也可以在头脑中完成(这也是BCD的优势),但只要让计算机为你做。

PLANETCALC, 二进码十进数

二进码十进数

可以在BCD表示法中输入十进制或二进制代码
十进制
 
二进码十进数
 

URL 复制到剪贴板
PLANETCALC, 二进码十进数

评论