说明:在写解释器模式的例子程序中使用到了罗马数字,在此处做简单介绍。
一、简介
罗马数字是最早的数字表示方式,比阿拉伯数字早2000多年,起源于古罗马。
二、记数方法
1、对应关系
基本字符 | 对应的阿拉伯数字 |
I | 1 |
V | 5 |
X | 10 |
L | 50 |
C | 100 |
D | 500 |
M | 1000 |
2、规则
- 相同的数字连写表示的数为这些数字相加的和,例如:III = 3;
- 小的数字在大的数字右边表示的数为这些数字相加的和,例如:VII = 7, XI = 11;
- 小的数字(仅限于I、X、C)在大的数字左边表示的数为大数减去小数的值,例如:IV = 4, XC = 90;
- 正常使用时,连写的数字重复不能超过3次;基本数字I、X、C中的任何一个放在大数左边时只能用一个;
- 在一个数的上面画一条横线,表示这个数字扩大1000倍;
- 基本数字V、L、D中的任何一个放在大数右边采用相加的方式构成数目时只能用一个。
三、举例
罗马数字 | 阿拉伯数字 |
III | 3 |
IV | 4 |
VI | 6 |
VIII | 8 |
IX | 9 |
罗马数字 | 阿拉伯数字 |
XIV | 14 |
XXXVI | 36 |
XL | 40 |
LX | 60 |
LXXXVIII | 88 |
XCIX | 99 |
罗马数字 | 阿拉伯数字 |
CXIV | 116 |
CD | 400 |
DC | 600 |
DCCX | 710 |
CM | 900 |
CMXCIX | 999 |
罗马数字 | 阿拉伯数字 |
MC | 1100 |
MCDV | 1405 |
MM | 2000 |
MMMD | 3500 |
MMMCMXCIX | 3999 |