아직도 쓰이는 숫자 체계
로마 숫자는 격식 있어 보이거나 고정된 느낌이 필요한 곳에 살아남아 있습니다. 영화 저작권 표시, 책의 장 번호, 군주와 교황의 이름, 시계 문자판, 슈퍼볼 회차 같은 것들이죠. 일곱 개의 글자를 조합해 읽으며, 위치에 따라 옆 값에 더할지 뺄지가 결정됩니다.
이 변환기는 양방향으로 동작합니다. 숫자를 로마 숫자로, 로마 숫자를 다시 숫자로 바꾸며, 잘못된 배열을 짐작해서 처리하지 않고 검증합니다.
로마 숫자 변환하는 방법
양방향으로 동작하며, 입력한 내용을 보고 어느 쪽인지 판단합니다.
- 일반 숫자를 입력하면 로마 숫자가, 로마 숫자를 입력하면 값이 나옵니다.
- 표준 범위인 1부터 3,999까지 사용하세요. 더 큰 값은 윗줄 표기가 필요한데 일반 텍스트로는 입력할 수 없습니다.
- 로마 숫자는 대문자로 입력하세요. 소문자도 받지만 관례적인 표기는 대문자입니다.
- 분해 표시와 결과를 대조해 보세요. 숫자가 어떤 구성 값들로 나뉘는지 보여 줍니다.
- 연도라면 현대의 관례가 엄격한 감산 표기임을 기억하세요. 1999는 MIM이 아니라 MCMXCIX입니다.
감산 규칙
작은 숫자가 큰 숫자 앞에 오면 더하는 대신 뺍니다. IV는 4, IX는 9, XL은 40입니다. 유효한 감산 쌍은 여섯 개뿐입니다. IV, IX, XL, XC, CD, CM이죠. 빼기가 바로 다음 한두 개의 10의 거듭제곱으로만 제한되기 때문입니다. I는 V와 X 앞에, X는 L과 C 앞에, C는 D와 M 앞에 올 수 있습니다. 그 외에는 표준이 아닙니다.
1999가 MIM이 아니라 MCMXCIX인 이유가 이것입니다. 숫자의 각 자리를 따로 변환하기 때문입니다. 1000은 M, 900은 CM, 90은 XC, 9는 IX로요. 2000에서 1을 한 번에 빼지 않습니다. MIM은 알아볼 수는 있지만 관례가 아니며, 기념비보다는 퀴즈에 등장하는 종류의 표기입니다.
숫자 값과 유효한 감산 쌍
일곱 개의 글자와, 표준 표기가 허용하는 여섯 개의 감산 조합입니다.
| 숫자 | 값 | 감산 쌍 | 값 |
|---|---|---|---|
| I | 1 | IV | 4 |
| V | 5 | IX | 9 |
| X | 10 | XL | 40 |
| L | 50 | XC | 90 |
| C | 100 | CD | 400 |
| D | 500 | CM | 900 |
| M | 1,000 | – | – |
V, L, D는 반복되지도 않고 감산 쌍에 쓰이지도 않습니다. 각각이 이미 두 10의 거듭제곱 사이 중간에 있기 때문입니다. VV나 VX가 보인다면 배열이 잘못되었다는 확실한 신호입니다.
0, 분수, 그리고 상한
로마 숫자에는 0이 없습니다. 이 체계는 자리값 계산이 아니라 수량을 세고 기록하기 위해 만들어졌기 때문입니다. 중세 필경사들은 그 개념이 필요할 때 nulla라고 적었습니다. 0이 없다는 것은 로마 숫자로 계산하기가 비현실적인 이유이기도 합니다. 받아올림할 자리 구조가 없기 때문입니다.
표준 표기는 3,999에서 멈춥니다. 4,000은 M이 네 개 필요하기 때문입니다. 더 큰 수에는 빈쿨룸이라는 윗줄을 써서 값을 1,000배 했고, 그래서 줄이 그어진 V는 5,000을 뜻했습니다. 이는 일반 텍스트로 표현할 수 없어서 변환기들이 대개 MMMCMXCIX에서 상한을 둡니다. 12분의 1을 기준으로 점을 찍어 쓰던 분수도 있었지만 완전히 사라졌습니다.