Roman Numerals were used in Europe until the 18th century and even today in certain applications. Generally the only place we see them today is an alternative way of expressing a given Natural Number such as year, or hour on a clock, or Superbowl number.
Roman Numerals are not a positional system and contain no symbol of zero. Rather, they are an additive system with each symbol taking on a definite numeric value regardless of where it appears. Actually there a few subtractive rules that makes writing a value somewhat more compact that do depend upon position relative to another symbol.
The symbols and their values are:
The table can be extended to larger values by using the convention that a bar over a symbol indicates "1000 times:"
For our purpose we will generally utilize values that are sufficiently small to be written without the "barred" symbols.
While a particular symbol takes on a given value regardless of its position, it is customary to write the number from left-to-right with the "largest" symbols first.
A Roman value of, as an example: DCCLXVII
500 + 100 + 100 + 50 + 10 + 5 + 1 + 1 = 767
Of course, the Romans would not have been able to think in terms of our numeric values. They could only manipulate the symbols directly. As an example, they would not have known that VV is an X because 5 + 5 = 10. They would have needed to memorize and use a grouping equivalence table:
|IIIII||is equivalent to||V|
|VV||is equivalent to||X|
|XXXXX||is equivalent to||L|
|LL||is equivalent to||C|
|CCCCC||is equivalent to||D|
|DD||is equivalent to||M|
Such an equivalence would have reduced the number of symbols in a number. As an example, 600 could be written as CCCCCC (or 100+100+100+100+100+100). This would have been "simplified" by the equivalence rules to the properly written DC (or 500+100). For that matter, 600 could be expressed as 12 L's or 60 X's or 120 V's or 600 I's or some combination as long as the sum of all the characters totaled 600. In all cases, by applying the equivalence rules to shorten the expression by replacing several symbols with one we would get DC.
Simply applying the rules so far could lead to a Roman value such as VIIII (or 9). To write this more compactly, we use the convention that we can "subtract" a symbol representing a 1, 10, or 100 from the next two higher symbols, respectively, by writing the smaller to the left. Therefore the only subtractive forms are:
Therefore, as an example: MCMXCIV
1000 + 900 + 90 + 4 = 1994
The 900, of course, comes from the pair of symbols: CM.
The Roman value is equivalent to: MDCCCCLXXXXIIII. While this is less compact, we shall see that this equivalent form without any subtractives can be useful.
By the way, not every source agrees to some of the details of Roman Numerals. As an example, we could expand the definition of a subtractive and form 99 as IC rather than XCIX as we would according to the rules above. Indeed, it is not clear if the Romans actually used the subtractives to write the numbers compactly.
Conversion to and from ordinary numbers is accomplished rather easily.
Simply add up the values of the Roman symbols. Of course, if a subtractive appears with a I, X, or C to the left of a "larger" symbol, we need to substitute the pair for the correct numeric value.
Start by removing the largest Roman values first and subtracting the removed value until we have converted the entire value. We keep trying to remove a given Roman value until we cannot, then we try the next smaller one. As an example:
|value||symbol to try||result||value left||Roman value|
|2349||M or 1000||yes||1349||M|
|1349||M or 1000||yes||349||MM|
|349||M or 1000||no||349||MM|
|349||D or 500||no||349||MM|
|349||C or 100||yes||249||MMC|
|249||C or 100||yes||149||MMCC|
|149||C or 100||yes||49||MMCCC|
|49||C or 100||no||49||MMCCC|
|49||L or 50||no||49||MMCCC|
|49||X or 10||yes||39||MMCCCX|
|39||X or 10||yes||29||MMCCCXX|
|29||X or 10||yes||19||MMCCCXXX|
|19||X or 10||yes||9||MMCCCXXXX|
|9||X or 10||no||9||MMCCCXXXX|
|9||V or 5||yes||4||MMCCCXXXXV|
|4||V or 5||no||4||MMCCCXXXXV|
|4||I or 1||yes||3||MMCCCXXXXVI|
|3||I or 1||yes||2||MMCCCXXXXVII|
|2||I or 1||yes||1||MMCCCXXXXVIII|
|1||I or 1||yes||0||MMCCCXXXXVIIII|
The table above would indicate the steps a computer would move through. A human would normally take some short cuts by lumping. As an example, we readily see that there are two "thousands" in the original value and would immediately write down: MM. There are three "hundreds" so we get MMCCC, etc until we get the entire number converted.
There is one more step we need to do. We need to substitute for any subtractive values. To do this we proceed right-to-left and look for four of the same symbol. Since there are four I's we check the next symbol on the left and substitute IX for the VIIII. (Note, if the Roman value were something like, MDIIII, we could not utilize the D so we would end up with MDIV.) After making this substitution we have: MMCCCXXXXIX.
In this value there are four X's with a preceding C. These X's become XL. Thus the final Roman numeral value is: MMCCCXLIX.
If you were asked to add two Roman valves such as CXXII + LXI, you would probably convert these two values to regular numbers, add them (122 + 61 = 183), and finally convert back to Roman Numerals: CLXXXIII. This is because it is relatively easy to convert and we know how to add ordinary decimal numbers.
The Romans could not do this! They needed a method of manipulating the Roman symbols directly to achieve the addition!
It turns out that an algorithm for adding Roman numbers directly is actually quite easy. This was fortunate for the Roman engineers and accountants.
The algorithm has just five steps:
As an example, perform CCCLXIX + DCCCXLV.
|1.||Substitute for any subtractives to obtain:||CCCLXVIIII + DCCCXXXXV|
|2.||Catenate to obtain:||CCCLXVIIIIDCCCXXXXV|
|3.||Sort to obtain:||DCCCCCCLXXXXXVVIIII|
|4.||Combine groups to obtain:||DCCCCCCLXXXXXXIIII
|5.||Substitute any subtractives to obtain:||MCCXIV|
You can verify that this is indeed the correct by converting the values to regular notation: 369 + 845 = 1214.
Subtraction directly is also reasonably easy, but there is a process akin to "borrowing" that needs to be included. If addition is accomplished by putting the two values together to form a result, subtraction is accomplished by "crossing out" symbols in the value that is being subtracted in the starting value.
Here is a simple example: LXVIII - XII. In the first value, LXVIII "cross out" or remove common symbols: L
XV III or, in final form, LVI.
We will assume that the subtraction is possible; that is, the result is 1 or larger. (Note, Roman Numerals cannot express zero or negative numbers.)
The algorithm becomes:
|1.||Substitute for any subtractives to obtain:||CXXVIIII − XXXXIII|
|2.||a. cross out common symbols:||C
|b. need X's, convert C to LXXXXX||LXXXXX
|4.||Check for grouping:||LXXXVI|
|5.||Substitute any subtractives to obtain:||LXXXVI|
You can verify that this is indeed the correct result by converting the values to regular notation: 129 − 43 = 86.
The "borrowing" rule 2b above may need to take on a slightly more complicated approach. Consider D − X. The D must be replaced with a series of symbols that includes an X. It becomes: CCCCC which in turn becomes CCCCLL which finally becomes CCCCLXXXXX. After "crossing out" the common symbols, the result is CCCCLXXXX with a final compact answer of CDXC.
If the conversion in step 2 is done carefully, then there should not be anything for step 4 to do. That is, it should be possible always to introduce a minimum number of needed symbols during step 2.
Multiplication is rather obvious once you realize that the Roman symbols are additive; that is, CXI is really C + X + I. To multiply two multinomial expressions in algebra like (a+b)(x+y+z) we multiply each term in the first by every term in the second and add the results. This is the approach for multiplying Roman numbers.
First we need a multiplication table. Due to the nature of the values of the Roman symbols (every value involves only 5's and 10's) this is easy to form and learn:
The value V, of course, may be written as MMMMM.
The algorithm for multiplication is very similar to the one for addition with just five steps:
|1.||Substitute for any subtractives to obtain:||XXI•XVII|
|2.||Form products and catenate to obtain:||CLXX CLXX XVII|
|3.||Sort to obtain:||CCLLXXXXXVII|
|4.||Combine groups to obtain:||CCLLLVII
|5.||Substitute any subtractives to obtain:||CCCLVII|
In step two, we get X "times" XVII to obtain CLXX. The second X in the first value gives the same, and finally the I "times" gives XVII. It is these three values that are catenated together to form the result. (Note the catenation performs the addition of the intermediate partial products.)
You can verify that this is indeed the correct by converting the values to regular notation: 21•17 = 357.
Division is somewhat more complicated. Any process should take the two values and produce a quotient and a remainder. Since we cannot represent a zero, a remainder of zero will be simply "no remainder."
Essentially, we can perform division by repeated subtraction. If we count the number of times we can subtract the divisor until the dividend becomes smaller than the divisor, the quotient is the count we get and the remainder is what is left. As an example, 39 divided by 8 gives us:
|value||can we subtract 8?||result||count|
The answer for 39 divided by 8 is a quotient of 4 and a reminder of 7.
This process should work in any notation that we can perform subtraction including Roman values.
However, consider the work involved if we divide 2417 by 17! (Quotient is 142 with a remainder of 3.)
If we really did this with regular numbers we could save considerable work by "shifting" the divisor by multiplying by a power of 10. We see that if we start with 100•17 = 1700. When we count as we subtract, we will count by 100's. When this value is too large, we divide by 10 and count by 10's, then finally divide again by 10's and count by 1's.
|starting value||trial subtractor||can we subtract it?||result||count|
The quotient is 142 and the remainder is 3. This involves 10 steps rather than the 142 steps needed if we simply subtracted 17 over and over!
We took advantage of the fact that with decimal numbers we can multiply by 10 quite easily by simply catenating a zero to the right.
With Roman numerals we can easily multiply a Roman value by C or X or even L or V. Each symbol in the original is replaced a single or set of symbols according to the multiplication table above. We can subtract by "crossing out." Counting is performed by catenation.
We do need one additional process—we need to be able to determine if one Roman number is larger than another.
This "subprocess" is not hard. It is based upon: "If a number contains more of a given symbol, then it is larger." This will be true if we proceed from the "largest" to the "smallest" symbols ignoring those that contain the same number of a symbol until we find the first occurence where there is more of one.
As an example, MMCXXXVI is smaller than MMCCCCXVI because the second contains more C's.
And MMMDXXXVI is larger than MMMCCCCLVII because the first contains more D's.
In both the cases the M's cannot decide the answer because there are the same number in each of the pairs.
Let us try dividing MMMDCCIV by XIV.
The first step is to rewrite these without subtractives: MMMDCCIIII and XIIII
Next form multiples of the divisor:
The last one is clearly too large—contains more M's than the dividend. Therefore we start out subtraction process with the "C times."
|starting value||trial subtractor|| starting value |
|after "crossing out"||count|
|DCCCCIIII||MCCCC too large||DCCCCIIII||CC|
|CCIIII||DLLLL too large||CCIIII||CCL|
|LXIIII||CXXXX too large||LXIIII||CCLX|
|LXIIII||LVVVV too large||LXIIII||CCLX|
|VIII||XIIII too large||VIII||CCLXIIII|
We are done! The quotient is CCLXIIII or CCLXIV and the remainder is VIII.
If the divisor divided the dividend exactly then the last "crossing out" step would be complete with nothing left.
Did the Romans actually calculate using these exact procedures? Probably not. They may have utilized shortcuts and other schemes. However, the above processes do perform the arithmetic operations by manipulating the symbols of the Roman written values directly without first converting them to our decimal representation. In many respects these Roman procedures are easier than the corresponding ones for ordinary numbers since they involve only processes such as catenation, arranging the symbols in order, grouping symbols, "borrowing", and "crossing out."
It is important to remember that the Romans did not think in terms of our familiar numbers—they thought only in terms of the Roman Numbers.
They were familiar with numbers such as XIII and MCMLXVIII directly without thinking these were 13 and 1968.
They had a lifetime of experience with numbers represented only as Roman Numerals.