罗马数字?


罗马数字?

今天再看罗马数字,才突然发现其完全是一种不同寻常的计数方法。我们平常用的是进制计数法(二进制、十进制等),而罗马数字完全不同。简单列几个罗马数字:

  • 1 => I
  • 2 => II
  • 5 => V
  • 6 => VI
  • 10 => X
  • 50 => L
  • 100 => C
  • 500 => D
  • 1000 => M

有什么发现, 最直接的, 罗马数字的值就是将所有相加,完事.

罗马数字中没有0

这是为啥呢?其实归功于罗马数字特有的计数方式,再进制计数法中0是做什么用的?占位。比如数字100中的0表示什么意思:1个100,0个10,0个1。0在其中仅仅表示此位空。而罗马数字因为其计数性质,数字表示累加的结果,明显不需要占位符。

X、L这些数有什么用

既然完全累加,又为什么5表示为V,10表示为X,全都用I表示不就好了么。

举个例子,比较 IIIIII 和 IIIII 哪个较大?VI 和 V 哪个较大?嗯,明白了。而且数字也变短了。科学计数法:10^6 和10^7也是同样的道理。这就有点像我们写程序时的抽象

罗马数字的运算

罗马数字的运算也很简单,完全没有进位这些问题。

加法就是将两个数字并排写就行,有点像取并集

减法就是取出其中数字的部分,有点像取交集

乘法和除法就是加减法,不说了


之前一定是我的思想被禁锢了,没想到啊。既然除了进制计数,还存在其他计数方法,那一定除了罗马数字还有其他的计数方式,只是我没有发现或没有想到。厉害!!!


分享到:


相關文章: