#include <stdio.h>
// Function to convert hexadecimal to BCD
void hex_to_bcd(uint8_t hex_value, uint8_t *bcd_value) {
bcd_value[0] = (hex_value / 10) << 4;
bcd_value[0] |= hex_value % 10;
}
// Function to convert BCD to hexadecimal
uint8_t bcd_to_hex(uint8_t bcd_value) {
return ((bcd_value >> 4) * 10) + (bcd_value & 0x0F);
}
int main() {
uint8_t hex_data = 0x20; // Example hex value
uint8_t bcd_data;
hex_to_bcd(hex_data, &bcd_data);
printf("Hex to BCD: 0x%X\n", bcd_data);
uint8_t hex_data_again = bcd_to_hex(bcd_data);
printf("BCD to Hex: 0x%X\n", hex_data_again);
return 0;
}
1字节无符号整数与BCD码的互相转换
于 2024-03-28 15:33:58 首次发布