I have read that if a smaller number is to the left of a larger number means that the smaller number has to be subtracted from the larger number.
Ok I can understand quickly for below Roman Numbers :
IX = X - I = 10 - 1 = 9
But I have difficulty in understanding Roman Numbers that have odd Roman Numerals – say :
XIX
So if we go from Left to right we get
XIX = 10 + 1 + 10 = 21
But if we go from right to left we get
XIX = 10 + 10 - 1 = 19
So which direction we should consider before applying the rule of smaller followed by bigger Roman Numerals – left to right or right to left?
When reading roman numerals, I prefer to think in the following way:
Read from left to right, and if at any point the value of a character decreases, put a comma between the decrease. Then, add each block together.
MCMXCVI $\mapsto$ M,CM,XC,V,I $\mapsto$ $1000+900+90+5+1=1996$
MDCCCLXXIV $\mapsto$ M,D,CCC,L,XX,IV $\mapsto$ $1000+500+300+50+20+4=1874$
MCMXCIX $\mapsto$ M,CM,XC,IX $\mapsto$ $1000+900+90+9 = 1999$
Note that 1999 was not written as IMM or MIM. Converting from arabic numbers to roman numerals, one only uses powers of ten one apart to denote subtraction.
When you are reading Roman numerals, start from the left-most character. Read rightward until the value of the character increases. Then, section those two characters off, and repeat.
That sounds really complicated, and I wrote it somewhat poorly, so here are some examples.
In $XIX$, we start with the left $X$ which is $10$. Then we move to the $I$ which is $1$. We decreased from $10$ to $1$, so we’ll move on. Then we get to the right $X$ which is $10$. We increased from $1$ to $10$, so we need to section off the $IX$. It would look like this:
$$XIX = X + IX = 10 + 9 = 19$$
Here’s a more complicated example:
$$MCMXXIX = M + CM + XX + IX = 1000 + 900 + 20 + 9 = 1929$$
Here we had to section off the $CM$ since we increased in value from $C$ to the second $M$. We had to section off the $IX$ since we increased in value from the $I$ to the last $X$.
One last really complicated example:
$$MMCDXLIV = MM + CD + XL + IV = 2000 + 400 + 40 + 4 = 2444$$
You can apply the following logics:
the units are denoted I, II, III, IV, V, VI, VII, VIII$^*$, IX; the tenths are denoted X, XX, XXX, XL, L, LX, LXX, LXXX, XC; the hundredths C, CC, CCC, CD, D, DC, DCC, DCCC, CM; the thousands, M, MM, MMM.
numbers are written in thousands, hundredths, tenths and units from left to right.
The Roman Empire wasn’t designed to last longer than until 3999 AD ðŸ™‚
$^*$Sometimes IIX is used for VIII.
XIX is read left to right, the “I” is always applied to the final X.
XIX = X + IX = 10 + 9
XXI = X + XI = 10 + 11
To avoid confusion , the only pairs of Roman numerals that follow the “subtraction” rule are IV, IX, XL, XC, CD, CM. So if your shirt size followed Roman numerals ( which it does not) L would be 50, XL=50-10=40 and XXL = 10+40=50 . Therefore L would be equal to XXL size in Roman numerals !! Coming onto XIX , this equals 19 . Here we must keep in mind the other rules of Roman numerals also and not just addition subtraction. 20 as a digit as a whole is represented as XX and therefore 21 would be XXI. In XIX reading from left to right take IX as a complete digit ie 9 and therefor XIX =19
I have designed following algorithm to convert roman to decimal.
Replace string contents of length = 4 with appropriate content
VIII = 8
Replace string contents of length = 3 with appropriate content
MMM = 3000
, XXX = 30
, VII = 7
, III = 3
MM = 2000
, XX = 20
, XI = 11
, IX = 9
, VI = 6
, IV = 4
, II = 2
I
can be subtracted (absolute) from V
or X
X
can be subtracted (absolute) from L
or C
C
can be subtracted (absolute) from D
or M