Konwersja z rzymskich na arabskie - zakres

0

Witam, ponieważ ostatnio zajmuję się konwersją liczb arabskich na rzymskie w języku C, pojawiło się pewne zapytanie, mianowicie interesuje mnie, dlaczego zakres tej konwersji jest tylko dla liczb do 3999? Dlaczego nie możemy rozszerzyć tego zakresu, np. do 10 000? W czym tkwi problem i gdzie jest blokada? Czy ktoś wie? :D

1

Liczby z takiego zakresu mają zapis wykorzystujący jedynie cyfry ze „zwykłego” alfabetu (I, V, L, C, D, M), od czterech tysięcy nie jest już tak fajnie: np. 4000 == Mↁ; 10000 == ↂ.

2

Blokady żadnej nie ma, po prostu nie ma jednego ustandaryzowanego sposobu zapisywania liczb większych od tysiąca (kilku tysięcy) w systemie rzymskim.

W różnych okresach różnie je pisano. A nawet liczby < 1000 różnie pisano, szczegóły na Wikipedii — znajdziesz tam różne karkołomne standardy które wyszły z użycia, z ułamkami włącznie.

Szczególnie podoba mi się wariant z małymi literami i literą j zamiast ostatniego i:

j, ij, iij, iv, v, vj, vij, viij, ix, x, xj, xij

Cyfry rzymskie jednak słabo się nadają do zapisywania dowolnie wielkich liczb i do obliczeń, dlatego cyfry „arabskie” się spopularyzowały.

EDIT: właściwie jedyne miejsce, gdzie liczby większe od 1000 się współcześnie pojawiają w zapisie rzymskim, to końcowe lub początkowe napisy wielu filmów i programów telewizyjnych, gdzie zwyczajowo podaje się rok produkcji cyframi rzymskimi, np. MMXVII - 2017. W zeszłym stuleciu były to znacznie dłuższe wężowidła, np. MCMLXXXVIII - 1988. Jak widać, jeszcze dużo czasu minie, zanim nowy znaczek poza M będzie potrzebny...

0

Dzięki za wyjaśnienie. :D

1 użytkowników online, w tym zalogowanych: 0, gości: 1