#include <stdio.h>
int main(void) {
int binaryInput = 0x47;
int bcdResult = 0;
int shift = 0;
printf("Binary: 0x%x (dec: %d)\n", binaryInput
, binaryInput
);
while (binaryInput > 0) {
bcdResult |= (binaryInput % 10) << (shift++ << 2);
binaryInput /= 10;
}
printf("BCD: 0x%x (dec: %d)\n", bcdResult
, bcdResult
); return 0;
}
I2luY2x1ZGUgPHN0ZGlvLmg+CgppbnQgbWFpbih2b2lkKSB7CgogICBpbnQgYmluYXJ5SW5wdXQgPSAweDQ3OyAKICAgaW50IGJjZFJlc3VsdCA9IDA7CiAgIGludCBzaGlmdCA9IDA7CgogICBwcmludGYoIkJpbmFyeTogMHgleCAoZGVjOiAlZClcbiIsIGJpbmFyeUlucHV0ICwgYmluYXJ5SW5wdXQgKTsKCiAgIHdoaWxlIChiaW5hcnlJbnB1dCA+IDApIHsKICAgICAgYmNkUmVzdWx0IHw9IChiaW5hcnlJbnB1dCAlIDEwKSA8PCAoc2hpZnQrKyA8PCAyKTsKICAgICAgYmluYXJ5SW5wdXQgLz0gMTA7CiAgIH0KCiAgIHByaW50ZigiQkNEOiAweCV4IChkZWM6ICVkKVxuIiwgYmNkUmVzdWx0ICwgYmNkUmVzdWx0ICk7CiAgIHJldHVybiAwOwp9