. I’m away on vacation this week, taking my kids to Disney World. Since I’m not likely to
have time to write while I’m away, I’m taking the opportunity to rerun an old classic series
of posts on numbers, which were first posted in the summer of 2006. These posts are mildly
revised.
I’ve always been perplexed by roman numerals.
First of all, they’re just weird. Why would anyone come up with something so strange as a
way of writing numbers?
And second, given that they’re so damned weird, hard to read, hard to work with, why do
we still use them for so many things today?
The Roman Numeral System
I expect most people already know this, but it never hurts to be complete. The roman numeral system is nonpositional. It assigns numeric values to letters. The basic system is:
 “I” stands for 1.
 “V” stands for 5.
 “X” stands for 10.
 “L” stands for 50.
 “C” stands for 100.
 “D” stands for 500.
 “M” stands for 1000.
Standard roman numerals don’t have any symbols for representing numbers larger than 1000.
There are modern usages that extend roman numerals by adding overbars for larger
numbers; so, for example, “V” with a horizontal line floating over it represents 5000, etc. But that’s an inauthentic (not to mention entirely pointless) modern addition, not
part of the historical roman numeral system. (The goofiness of people never ceases to amaze me. For goodness sakes, why on earth would anyone feel obliged to figure out how to adapt a pointlessly complex, anachronistic number system to work with larger numbers?)
Numbers are formed in roman numerals by combining symbols. The symbolcombination
rules are really pretty strange. The basic idea is that you start constructing a number
by choosing the largest roman numeral close to it, and you form a base using a collection of repetitions of that numeral. So, for example, to write a number like 35,
the closest numeral is X for 10. Then you use repetitions of it: XXX for thirty.
Then you modify the base by adding other numeral symbols on both sides of it, until you have a until you have the number you wanted. So you take a number symbol, like X. A group of that symbol appearing together are added together, so “III” = 3, and “XXX” = 30. Any symbol smaller than it that precedes it is subtracted from it; any symbol smaller than it that follows it is added to it. The notation for a number is structured around the largest number symbol used in writing that number. In general (though not always), you do not precede a symbol by anything smaller than 1/10th its value. So you wouldn’t write “IC” for 99.
So:
 IV = 4; V=5, I=1, I precedes V so it’s subtracted, so IV = 5 – 1.
 VI = 6; V=5, I=1, I follows V so it’s added, so VI = 5 + 1 = 6.
 XVI = 15. X=10, V = 5, I=1. VI is a number starting with a symbol whose value is smaller than X, so we take its value and add it. Since VI=6, then XVI=10+6 = 16.
 XCIX = 99. C=100. The “X” preceeding the C is subtracted, so XC=90. Then the IX following it is added. X is ten, preceeded by “I”, so “IX” = 9. So XCIX = 99.
 MCMXCIX = 1999. M = 1000. “CM” is 1000100=900, so MCM = 1900. That leaves us with XCIX. C = 100, so XC = 90, and we’ve still got IX, which is 9 – so 1900 + 90 + 9 = 1999.
For some reason (there are a number of theories of why), 4 is sometimes written IV, and sometimes IIII. Where did this mess come from?
The roman numerals date back to shepherds, who counted their flocks by marking notches on
their staffs. They didn’t original use roman letters, but just notches on the staff.
So when counting their sheep, they would mark four notches; and then on the fifth one,
they would cut a diagonal notch, the way that in tallying we commonly write four lines, and
then a diagonal strikethrough. But instead of striking through the preceeding notches, they
just used the diagonal to turn a “/” notch into “V”. Every tenth notch was marked by a
strikethrough, so it looked like “X”. Every tenth V got an extra overlapping notch, so it
looked sort of like a ψ and every tenth “X” got an extra overlapping notch, so it looked
like an X with a vertical line through the center.
In this system, if you had 8 sheep, that would be “IIIIVIII”. But the leading IIII are not really needed. So you could just use “VIII” instead, which became important when you wanted to do a big number.
When this system moved to writing, the simple notches became “I” and “V”; the strikethrough became “X”, The ψlike thing got replaced by an “L”, Beyond that, they started using mnemonics; so C, D, and M are all based on the latin words for 100, 500, and 1000.
The prefixsubtraction stuff came as it transitioned to writing. The problem with an ordinal system like this is that it involves a lot of repeated characters, which are very difficult for people to read correctly. Keeping the number of repetitions small reduces the number of errors that people make reading the numbers. It’s more compact to write “IX” than “VIIII”; and it’s a lot easier to read, because of fewer repetitions. So scribes started using the prefixsubtraction form.
Arithmetic in Roman Numerals
The most basic arithmetic in roman numerals is actually pretty easy: addition and
subtraction are simple, and it’s obvious why they work. On the other hand, multiplication and
division are not easy in roman numerals.
Addition
To add two roman numerals, what you do is:
 Convert any subtractive prefixes to additive suffixes. So, for example, IX would be rewritten to VIIII.
 Concatenate the two numbers to add.
 Sort the letters, large to small.
 Do internal sums (e.g., replace “IIIII” with “V”).
 Convert back to subtractive prefixes.
So, for example: 123 + 69. In roman numerals, that’s “CXXIII + “LXIX”.
 “CXXIII” has no subtractive prefixes. “LXIX” becomes “LXVIIII”.
 Concatenate: “CXXIIILXVIIII”.
 Sort: “CLXXXVIIIIIII”.
 Internal sum: reduce the “IIIIIII” to “VII” giving “CLXXXVVII”; then reduce the “VV” to “X”: “CLXXXXII”.
 Switch to subtractive prefix: “XXXX” = “XL”, giving “CLXLII”. “LXL”=”XC”, giving “CXCII”, or 192.
Subtraction
Subtraction isn’t any harder than addition. To subtract AB:
 Convert subtractive prefixes to additive suffixes.
 Eliminate any common symbols that appear in both A and B.
 For the largest remaining symbol in B, take the first symbol in A larger than it, and expand it. Then go back to step two, until there’s nothing left.
 Convert back to subtractive prefixes.
So 19269 = “CXCIILXIX”.
 Remove prefixes: CLXXXXII – LXVIIII.
 Remove common symbols. CXXX – VII.
 Expand an “X” in “CXXX”: CXXVIIIII – VII.
 Remove common symbols: CXXIII
 Convert to subtractive prefixes; in this case, there’s nothing to
convert. So the answer is CXXIII, or 123.
Multiplication
Multiplication using roman numerals is not particularly easy or obvious. You can do the
trivial thing, which is repeated addition. But it should be pretty obvious that that’s not
practical for large numbers. The trick that they used was actually pretty nifty. It’s
basically a strange version of binary multiplication. You need to be able to add and divide
by two, but those are both pretty easy things to do. So here goes:
Given A×B, you create two columns, and write A in the left column, and B in the right. Then:
 Divide the number in the left column by two, discarding the remainder. Write it down in the next row of the left column.
 Multiply the number in the right column by two. Write it down in the right column next the the result from step 1.
 Repeat from step 1 until the value in the left column is 1.
 Go down the table, and cross out every row where the number in the left column is even.
 Add up the remaining values in the right column.
Let’s look at an example: 21 * 17; XXI * XVII in roman numerals.
We build the table:
Left  Right 

XXI(21)  XVII (17) 
X(10)  XXXIV (34) 
V(5)  LXVIII (68) 
II(2)  CXXXVI (136) 
I(1)  CCLXXII (272) 
Then strike out the rows where the left hand side are even:
Left  Right 

XXI(21)  XVII (17) 


V(5)  LXVIII (68) 


I(1)  CCLXXII (272) 
Now add the nonstruckout values in the right hand column:
XVII + LXVIII + CCLXXII = CCLLXXXXVVIIIIIII = CCCXXXXXVII = CCCLVII = 357
Why does it work? It’s binary arithmetic. In binary arithmetic, to multiply A by B, you start with 0 for the result, and then for each digit d_{n} of A, if d_{n}=1, then add B with n 0s appended to the result.
The dividebytwo is giving you the binary digit of A for each position: if it’s odd, then the digit there was 1, if it’s even, the digit in that position was 0. The multiply by 2 on the right is giving you the results of appending the zeros in binary – for the Nth digit, you’ve multiplied by two n times.
Division in Roman Numerals
Division is the biggest problem in roman numerals. There is no good trick that works in
general. It really comes down to repeated subtraction. The only thing you can do to simplify
is variations on finding a common factor of both numbers that’s easy to factor out. For
example, if both numbers are even, you can divide each of them by two before starting the
repeated subtraction. It’s also fairly easy to recognize when both numbers are multiples of 5
or 10, and to do the division by 5 or 10 on both numbers. But beyond that, you take a guess,
do the multiplication, subtract, repeat.
Some Common Questions
 Why does a clock use IIII instead of IV? There are a surprising number of theories for that. The top contenders are:
 IV are the first letters of the name of Jupiter or the first letters
of Jehovah in latin. Neither is particularly convincing, because it’s
not a general rule of the number system – it’s only on clocks.  IIII is more symmetric with VIII on the clock face.
 IIII allows clockmakers to use fewer molds to make the numbers for the clock face.
 The king of France liked the way that “IIII” looked better that “IV”.
 Coincidence. Technically, “IIII” is as correct as “IV”. So someone who started making clocks just happened to be someone who used “IIII” instead of “IV”. In fact, the Romans themselves generally preferred “IIII”.
 IV are the first letters of the name of Jupiter or the first letters
 Why do we still use roman numerals? No practical reason. Our society tends to
be rather worshipful of the romans, and to consider Latin to be the language of scholars.
So anything that wants to look impressive has traditionally used roman numerals, because
that’s what they used in latin.  Is there a roman numeral 0? Yes, but it’s not entirely authentic.
During the middle ages, monks using roman numerals used “N”, for “nullae” to
represent 0. But it wasn’t the positional zero of arabic numbers; it was just
a roman numeral to fill into the astronomical tables
used to compute the date of Easter rather than leaving the column blank.