Converting Binary Coded Decimal

By JGH, April 2007

Binary Coded Decimal (BCD) is a method of representing a decimal number as a hexadecimal value using the hex digits 0-9 and ignoring A-F. For example, the number 21 (hex &15) would be represented as &21 (decimal 33). It can be a convenient internal representation of decimal numbers as each hexadecimal digit can be displayed without any further processing. See Wikipedia.

BCD values can be decoded with:

          number% = VAL STR$~bcd%


Numbers can be encoded in BCD using:

          bcd% = EVAL("&"+STR$number%)