《計算機科學導論》一2.3 非位置化數字係統
本節書摘來異步社區《計算機科學導論》一書中的第2章 ,第2.3節,[美]貝赫魯茲A. 佛羅讚(Behrouz A. Forouzan)著 劉藝劉哲雨等譯, 更多章節內容可以訪問雲棲社區“異步社區”公眾號查看。
2.3 非位置化數字係統
盡管非位置化數字係統並不用在計算機中,但我們給出簡單的介紹作為和位置化數字係統的比較。非位置化數字係統仍然使用有限的數字符號,每個符號有一個值。但是符號所占用的位置通常與其值無關—每個符號的值是固定的。為求出該數字的值,我們把所有符號表示的值相加。該係統數字表示為:
與前麵提到的相加規則有一些例外,如例2.24所示。
例2.24 羅馬數字係統是非位置化數字係統的一個好例子。該係統由羅馬人發明,並在歐洲一直使用到16世紀。它仍在體育比賽、鍾表刻度和其他應用中使用。該數字係統有一套符號S={I,V,X,L,C,D,M},每個符號的取值如表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。
下麵顯示了一些羅馬數字和它們的值:
最後更新:2017-06-21 16:32:44