我知道BCD就像更直观的数据类型,如果您不知道二进制的话。
但是我不知道为什么要使用这种编码,因为它很浪费,所以没有什么意义
表示形式为4位(表示形式大于9时)。
另外,我认为x86仅支持直接添加和订阅(您可以通过FPU对其进行转换)。
这可能来自旧机器还是其他体系结构?

最佳答案

我认为,BCD在许多事情上都是有用的,原因如上所述。似乎已经被忽略的一件事很明显,那就是提供一条从二进制到BCD的指令,反之亦然。这对于将ASCII数字转换为二进制进行算术运算可能非常有用。

其中一位张贴者错误地指出,数字经常以ASCII格式存储,实际上,由于二进制数字存储效率更高,所以做了很多二进制数字存储。将ASCII转换为二进制有点复杂。 BCD介于ASCII和二进制之间,如果有bsdtoint和inttobcd指令,它将使转换变得如此容易。所有ASCII值都必须转换为二进制以算术。因此,BCD实际上在将ASCII转换为二进制的过程中很有用。

关于assembly - 汇编程序: why BCD exists?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/2359527/

10-11 16:30