, X, L, C, D, M}, which does not include any character for zero. Note the subtractive rule 9 = IX and Information coding the date of the French Revolution?). Despite the oddity of their code rules, it is noteworthy that Roman numerals are still in use, for instance to represent the hours on clock dials, number pages in book prefaces, express copyright dates, enumerate cases in mathematical descriptions, or count series in games, such as US football. It is also interesting to note that the Roman-numeral system was in fact inspired by the Greek system in use in 400 BC.2 The ten-character dictionary of our decimal system, {0, 1, 2, 3, 4, 5, 6, 7, 8, 9} was first used by the Hindus in 400 BC, and then transmitted later to the West by the Arabs, hence the misnomer Arabic numerals, which should rather be Hindu-Arabic numerals. The introduction of a 0 character made it possible to greatly simplify numerals. Indeed, with only two- or three-character codewords (00-99 or 000-999), up to 100 or 1000 numerals can be generated. The hexadecimal system is based on the 16-character alphabet {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F}. The advantage of the hexadecimal system is that the codeword length is shorter than in the decimal case, at the expense of using a greater number of alphabet characters. The drawback of both decimal and hexadecimal codes is that they are based on relatively large alphabets. In practice, such characters may not be simple to generate, write, or faithfully interpret, as we all know from handwriting experience. Such characters need, in turn, to be coded through a simpler alphabet. The most basic code (and number representation) corresponds to the binary system, which uses the two-character {0, 1} alphabet. 3 A single-character, binary codeword is referred to as a bit, short for binary digit. In the following, we will equivalently refer to codewords as "numbers." Binary and decimal numbers are conventionally written as the ordered charac- ter sequences B = b3b2b1bo and D = d3d2dido, respectively. T