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 non-positional. It assigns numeric values to letters. The basic system is:

1. “I” stands for 1.

2. “V” stands for 5.

3. “X” stands for 10.

4. “L” stands for 50.

5. “C” stands for 100.

6. “D” stands for 500.

7. “M” stands for 1000.

Standard roman numerals don’t have any symbols for representing numbers larger than 1000. Some modern usages add an overbar, so that “V” with a horizontal line floating over it represents 5000, etc. But that’s a modern innovation.

The symbols are combined in a bizarre way. 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:

1. IV = 4; V=5, I=1, I precedes V so it’s subtracted, so IV = 5 – 1.

2. VI = 6; V=5, I=1, I follows V so it’s added, so VI = 5 + 1 = 6.

3. 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.

4. 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. Xo XCIX = 99. *(This example was corrected because I screwed up.)*

5. MCMXCIX = 1999. M = 1000. “CM” is 1000-100=900, so MCM = 1900. C = 50, XC = 90. IX=9.

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 strike-through. 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 strike-through, 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 strike-through became “X”, The Ψ-like thing became “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 prefix-subtraction 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 prefix-subtraction 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:

1. Convert any subtractive prefixes to additive suffixes. So, for example, IX would be rewritten to VIIII.

2. Concatenate the two numbers to add.

3. Sort the letters, large to small.

4. Do internal sums (e.g., replace “IIIII” with “V”)

5. Convert back to subtractive prefixes.

So, for example: 123 + 69. In roman numerals, that’s “CXXIII + “LXIX”.

1. “CXXIII” has no subtractive prefixes. “LXIX” becomes “LXVIIII”.

2. Concatenate: “CXXIIILXVIIII”

3. Sort: “CLXXXVIIIIIII”.

4. Internal sum: reduce the “IIIIIII” to “VII” giving “CLXXXVVII”; then reduce the “VV” to “X”: “CLXXXXII”

5. Switch to subtractive prefix: “XXXX” = “XL”, giving “CLXLII”. “LXL”=”XC”, giving “CXCII”, or 192.

### Subtraction

Subtraction isn’t any harder than addition. To subtract A-B:

1. Convert subtractive prefixes to additive suffixes.

2. Eliminate any common symbols that appear in both A and B.

3. 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.

4. Convert back to subtractive prefixes.

So 192-69 = “CXCII-LXIX”.

1. Remove prefixes: CLXXXXII – LXVIIII.

2. Remove common symbols. CXXX – VII.

3. Expand an “X” in “CXXX”: CXXVIIIII – VII.

4. Remove common symbols: CXXIII = 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:

1. Divide the number in the left column by two, discarding the remainder. Write it down in the next row of the left column.

2. Multiply the number in the right column by two. Write it down in the right column next the the result from step 1.

3. Repeat from step 1 until the value in the left column is 1.

4. Go down the table, and cross out every row where the number in the left column is *even*.

5. 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 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, nad then for each digit d_{n} of A, if d_{n}=1, then add *B* with n 0s appended to the result.

The divide-by-two 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 (I don’t buy this one,

because the romans weren’t particularly concerned about writing down

Jupiter’s name) or the first letters of Jehovah in latin (more convincing,

since early christians did follow the jewish practice of not writing god’s

name.)

* 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”.

* **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 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.