二进码十进数
这个在线计算器将十进制数转换为 BCD 表示法的二进制代码,反之亦然
本内容采用知识共享署名/相同方式共享许可协议3.0(未移植)进行许可。这意味着你可以在相同的许可条件下自由地重新发布或修改本内容,并且必须在你的网站上放置一个超链接到本作品https://zh.planetcalc.com/1674/,以注明原作者。此外,请不要修改本内容中对原作的任何引用(如果有的话)。
当我完成了计算器数字系统之间的小数转换后,我以为这是关于数字系统的最后一篇。然而,出现了另一个原因。正如我在上面的链接中写到的,在将小数从一个数字系统转换到另一个数字系统的过程中,出现的问题是精度的损失。
例如,我使用了十进制的0.8,这不可能在没有精度误差的情况下被翻译成二进制系统。
由于十进制数字是人类的 "原生",而二进制数字是计算机的 "原生",(对于这些特定的数字系统)精度问题曾经得到了解决—二进码十进数(BCD)格式的发明。这个想法很简单—为每个十进制数字使用一个字节。而这个字节应该保存这个数字的二进制代码。然后,例如,0.8变成0.00001000。
再次考虑一下,这个想法被调整了。由于上面的小数点总是空的(因为9,最大是1001)—让我们对每个十进制数字只使用一个半字节。 这被称为压缩 BCD。 这就是所谓的打包BCD。
在打包的BCD中,0.8变成了0.1000,6.75变成了0110.01110101。
这是个好主意—没有精度损失,可以轻松地进行转换,四舍五入也很简单—只需移动不必要的半字节。但它并没有被广泛采用,因为它让使用计算机更加困难。BCD意味着需要更多的内存来保存数字,以及更复杂的数字运算方案。
所以它只是一个古老的好奇的东西,我对它一无所知,直到网站的用户告诉我这些。
这里是二进码十进数(BCD)的计算器。你可以输入十进制或打包的BCD,然后得到转换结果。当然,这也可以在头脑中完成(这也是BCD的优势),但只要让计算机为你做。
评论