如何在 C# 中将正浮点数(ieee 754,单精度 32 位)转换为 BCD?
更新
如果我没记错的话,我需要的是所谓的打包 BCD。我已经在进行 int 到 BCD 的转换。以我正在做的方式,数字 1234 将导致以下字节数组:
{0x00, 0x00, 0x12, 0x34}
我使用的方法(这可能不是最好的方法)是:
public byte[] ToBCD(long num) {
long bcd = 0;
int i = 0;
while (num > 9) {
bcd |= ((num % 10) << i);
num /= 10;
i += 4;
}
byte[] bytes = BitConverter.GetBytes(bcd | (num << i));
Array.Reverse(bytes);
return bytes;
}