//--------------------------------------------------------------------------- #include #include #pragma hdrstop using namespace std; uint8_t dec2bcd(uint8_t); uint8_t bcd2dec(uint8_t); //--------------------------------------------------------------------------- #pragma argsused int main(int argc, char* argv[]) { cout << "Dec : BCD" << "\n"; for (uint8_t i = 10; i < 100; i++) { cout << (int)i << " : " << (int)dec2bcd(i) << "\n"; } cout << "-> " << (int)bcd2dec(0x81) << "\n"; return 0; } //--------------------------------------------------------------------------- // Convert Decimal to BCD uint8_t dec2bcd(uint8_t num) { return ((num / 10 * 16) + (num & 10)); } // Convert BCD to Decimal uint8_t bcd2dec(uint8_t num) { return ((num / 16 * 10) + (num % 16)); }