BCD16是什么意思

问题描述 投票:0回答:3

我正在编写一个 Ama 文件生成模拟器。在 Ama 规范中,它给出了字段的字节数(而不是比特数),如 BCD16、BCD12 等(BCD{a number})。

对于 BCD16 字段,实际长度为 8 个字节。谁能告诉我 BCD16 是什么意思? 我知道 BCD 是二进制编码的十进制,但不明白 BCD16 是什么意思。

encoding bcd
3个回答
3
投票

看起来像2字节(16位)BCD编码。请参阅此处

这是2个字节,可以存储4位BDC16编码的数字,其中一个 BCD 数字存储在每个半字节(也称为半字节)中。

示例 - 0011-0110 0010-0101 是 3-6 2-5,即 3x100 + 6x10 + 2x1 + 5x0.1 = 362.5


0
投票

BCD 是二进制编码的十进制,使用 半字节(四位数字,编码 0 到 8)来表示数字。

现实世界的计算仅使用 BCD8(每个字节两个数字)和 BCD16(每个短字节四个数字),并且在极少数情况下使用 BCD12(每个短字节六个数字。您实际上并不仅仅使用一个 BCD12)。

您不能使用少于 8 位的 BCD 编码(因为那样您就无法存储两个数字),虽然可以使用超过 16 位的 BCD 编码,但它很少有意义(因为此时您正在使用至少 32 位数据类型,它使用四个字节,所以...您只需使用这些字节)。


-1
投票

我想在与一位前辈交谈后我找到了一个定义。

BCD{x} 表示,对于单个数字,它需要 x 位。 这样,如果是BCD3,则需要三个位来表示一个数字。当然,我们不能代表所有组合。但我们可以代表一些非常大的值。

例如:在 BCD1 中,我们可以用一个字节来表示 - 11111111。

这是我发现的。如果定义有问题,请指正。

© www.soinside.com 2019 - 2024. All rights reserved.