8421bcd码c语言
时间: 2024-03-24 19:34:41 浏览: 65
8421BCD码是一种用于表示十进制数字的二进制编码方式。它将每个十进制数字表示为4位二进制数,其中每个二进制位的权重分别为8、4、2和1。以下是C语言中实现8421BCD码的示例代码:
```c
#include <stdio.h>
// 将十进制数字转换为8421BCD码
void decimalToBCD(int decimal) {
int bcd = 0;
int weight = 1;
while (decimal > 0) {
int digit = decimal % 10;
bcd += digit * weight;
weight *= 16; // 每个十进制位对应4位二进制,所以权重乘以16
decimal /= 10;
}
printf("BCD码: %04X\n", bcd);
}
// 将8421BCD码转换为十进制数字
void BCDToDecimal(int bcd) {
int decimal = 0;
int weight = 1;
while (bcd > 0) {
int digit = bcd % 16;
decimal += digit * weight;
weight *= 10; // 每个十进制位对应4位二进制,所以权重乘以10
bcd /= 16;
}
printf("十进制数字: %d\n", decimal);
}
int main() {
int decimal = 1234;
printf("原始十进制数字: %d\n", decimal);
decimalToBCD(decimal);
BCDToDecimal(0x1234);
return 0;
}
```
这段代码中,`decimalToBCD`函数将十进制数字转换为8421BCD码,`BCDToDecimal`函数将8421BCD码转换为十进制数字。在`main`函数中,我们将一个十进制数字1234作为示例进行转换,并输出结果。
阅读全文