《计算机科学导论》一2.3 非位置化数字系统

本节书摘来华章计算机《计算机科学导论》一书中的第2章 ,第2.3节,[美]贝赫鲁兹A. 佛罗赞(Behrouz A. Forouzan)著 刘艺刘哲雨等译, 更多章节内容可以访问云栖社区“华章计算机”公众号查看。

2.3 非位置化数字系统

尽管非位置化数字系统并不用在计算机中,但我们给出简单的介绍作为和位置化数字系统的比较。非位置化数字系统仍然使用有限的数字符号,每个符号有一个值。但是符号所占用的位置通常与其值无关—每个符号的值是固定的。为求出该数字的值,我们把所有符号表示的值相加。该系统数字表示为:

《计算机科学导论》一2.3 非位置化数字系统


并有值为:

《计算机科学导论》一2.3 非位置化数字系统


与前面提到的相加规则有一些例外,如例2.24所示。
例2.24 罗马数字系统是非位置化数字系统的一个好例子。该系统由罗马人发明,并在欧洲一直使用到16世纪。它仍在体育比赛、钟表刻度和其他应用中使用。该数字系统有一套符号S={I,V,X,L,C,D,M},每个符号的取值如表2-3所示。


《计算机科学导论》一2.3 非位置化数字系统

为求一个数的值,我们需要遵循特定的法则将符号的值相加:
1)当一个带有较小值的符号位于一个带有同等值或较大值的符号的后面,这些值相加。
2)当一个带有较小值的符号位于一个带有较大值的符号的前面,用大值减小值。
3)如果S1≤10×S2,则符号S1不能出现在符号S2之前。例如,I和V不能出现在C前面。
4)对于大数字,在6种符号(除I以外的所有符号)中的任意一个上方加横杠表示乘以1000。例如,V=5000和 M=1 000 000。
5)尽管罗马人使用单词nulla (空)来表达零的概念,但罗马数字在其系统中缺少数码0。
下面显示了一些罗马数字和它们的值:

《计算机科学导论》一2.3 非位置化数字系统

上一篇:必备知识:大数据处理应遵循的原则


下一篇:前后台交互经常使用的技术汇总(后台:Java技术,前台:Js或者Jquery)