如何将十进制转换回BCD?
How to convert decimal back BCD?
我可以将 BCD 码转换为十进制,例如我可以将 0x11 转换为十进制的 11 而不是 17。这是我使用的代码。
unsigned char hex = 0x11;
unsigned char backtohex ;
int dec = ((hex & 0xF0) >> 4) * 10 + (hex & 0x0F);
现在我想将 dec
转换回 BCD 表示法。我希望将 11 转换回 0x11 而不是 0x0B。我有点困惑如何回去。
谢谢!
假设您的输入始终介于 0 和 99 之间,包括:
unsigned char hex = ((dec / 10) << 4) | (dec % 10);
只需将高位数字左移一个半字节,或低位数字就位。
我可以将 BCD 码转换为十进制,例如我可以将 0x11 转换为十进制的 11 而不是 17。这是我使用的代码。
unsigned char hex = 0x11;
unsigned char backtohex ;
int dec = ((hex & 0xF0) >> 4) * 10 + (hex & 0x0F);
现在我想将 dec
转换回 BCD 表示法。我希望将 11 转换回 0x11 而不是 0x0B。我有点困惑如何回去。
谢谢!
假设您的输入始终介于 0 和 99 之间,包括:
unsigned char hex = ((dec / 10) << 4) | (dec % 10);
只需将高位数字左移一个半字节,或低位数字就位。