MB Matheblog # 46 |
Inhalt Blog voriger Eintrag |
zur Leitseite Index der gesamten Website |
Römische Zahlen
Für die Darstellung römischer Zahlen gibt es weitgehend akzeptierte Konventionen, allerdings findet man auch Ausnahmen. In der Tabelle findet man die (übliche) Darstellung, die in diesem Blogbeitrag verwendet wird. In der 4-er und der 9-er Zeile gehören die Viererblöcke IIII, XXXX, CCCC zur "Urform" der römischen Zahlen, die einer rein additiven Regel folgt. Jeweils darüber stehen die sechs später entwickelten Darstellungen, die Ausnahmen vom additiven System bilden und einer subtraktiven Regel folgen; diese haben sich als "Standardform" allgemein durchgesetzt.
Mit den in der Tabelle (und schon in der römischen Antike) verwendeten Ziffern I, V, X, L, C, D, M lassen sich die natürlichen Zahlen 1 - 4999 darstellen.
Die an einigen Stellen zu findenden Ausnahmen in der Zahldarstellung werden hier nicht berücksichtigt. Das gilt insbesondere für Zahlbildungen wie IC für 99 oder IIX für 8 .
| Tausender | Hunderter | Zehner | Einer | |
| × 0 | ||||
| × 1 | M | C | X | I |
| × 2 | MM | CC | XX | II |
| × 3 | MMM | CCC | XXX | III |
| × 4 | MMMM | CD oder CCCC |
XL oder XXXX |
IV oder IIII |
| × 5 | D | L | V | |
| × 6 | DC | LX | VI | |
| × 7 | DCC | LXX | VII | |
| × 8 | DCCC | LXXX | VIII | |
| × 9 | CM oder DCCCC |
XC oder LXXXX |
IX oder VIIII |
|
| 1407 = MCDVII |
||||
| 1 | 4 | 0 | 7 | |
| M | CD | VII |
Bei der Einordnung der römischen Zahlen in die historischen und aktuellen Zahlsysteme findet man die Beschreibung
In einem "dezimalen additiven System" gibt es 9 Zahlsymbole (Ziffern oder Zifferngruppen) für die "Einer", 9 davon verschiedene Symbole für die "Zehner" usw.
Die Urform der römischen Zahlen ist ein solches dezimales additives System. Die Reihenfolge der Zahlsymbole spielt dabei eigentlich keine Rolle; man hätte z.B. statt CXIII auch IIICX oder sogar IXICI schreiben können und hätte jedesmal durch Addition der Ziffernwerte das arabische Ergebnis 113 erhalten. Ein historisches Beispiel ist IIXX für die 22. Legion. Allerdings war eine solche Schreibweise wohl eine seltene Ausnahme; in aller Regel standen die großen Ziffern links und die kleinen rechts, absteigend nach Zehnerpotenzen geordnet (siehe Tabelle).
Anders sieht es bei der Standardform der römischen Zahlen aus. Hier musste die geordnete Reihenfolge nach Zehnerpotenzen zwingend eingehalten werden. Dies soll an einem Beispiel verdeutlicht werden:
In 311 = CCCXI würde die Vertauschung der Einer- mit der Zehnerspalte zu CCCIX = 309 führen.
Da die Reihenfolge der Zifferngruppen einer Ordnung in 10-er-Potenzen folgt, kann man das römische Zahlsystem in der Standardform als ein dezimales Pseudo-Stellenwertsystem auffassen. Es steht zwischen einem rein additiven System und einem echten Stellenwertsystem. Das "Pseudo-" bedeutet, dass (u.a. wegen des Fehlens der Null) für die einzelnen Stellen verschiedene Symbole verwendet werden. Für die Bezeichnung "Pseudo-Stellenwertsystem" spricht, dass die Rechenhilfsmittel Rechenbrett und Abakus sowohl für römische wie für arabische Zahlen verwendet wurden.
Es soll noch bemerkt werden, dass sich der Übergang von den römischen zu den arabischen Zahlen (die eigentlich indische Zahlen heißen müssten) in Europa über mehrere Jahrhunderte hinzog. Insbesondere galten die römischen Zahlen als fälschungssicherer.
Man kann online auf mehrere Programme zur Umrechnung zwischen römischen und arabischen Zahlen zugreifen; nicht immer arbeiten sie korrekt. Im Folgenden werden zwei Mathematica-Programme gezeigt.
|
(* Römisch --> arabisch *)
r = "MCMXCV"; ch = Characters[r]; 1000 Count[ch, "M"] + 500 Count[ch, "D"] + 100 Count[ch, "C"] + 50 Count[ch, "L"] + 10 Count[ch, "X"] + 5 Count[ch, "V"] + Count[ch, "I"] - 2 Length[StringCases[r, "IV"]] - 2 Length[StringCases[r, "IX"]] - 20 Length[StringCases[r, "XL"]] - 20 Length[StringCases[r, "XC"]] - 200 Length[StringCases[r, "CD"]] - 200 Length[StringCases[r, "CM"]] 1995 |
(* Arabisch --> römisch *)
a = 1995; d = IntegerDigits[a]; le = Length[d]; If[le < 4, d = Prepend[d, 0]]; If[le < 3, d = Prepend[d, 0]]; If[le < 2, d = Prepend[d, 0]]; str1 = If[d[[1]] == 0, "", If[d[[1]] == 1, "M", If[d[[1]] == 2, "MM", If[d[[1]] == 3, "MMM", If[d[[1]] == 4, "MMMM"]]]]]; str2 = If[d[[2]] == 0, "", If[d[[2]] == 1, "C", If[d[[2]] == 2, "CC", If[d[[2]] == 3, "CCC", If[d[[2]] == 4, "CD", If[d[[2]] == 5, "D", If[d[[2]] == 6, "DC", If[d[[2]] == 7, "DCC", If[d[[2]] == 8, "DCCC", If[d[[2]] == 9, "CM"]]]]]]]]]]; str3 = If[d[[3]] == 0, "", If[d[[3]] == 1, "X", If[d[[3]] == 2, "XX", If[d[[3]] == 3, "XXX", If[d[[3]] == 4, "XL", If[d[[3]] == 5, "L", If[d[[3]] == 6, "LX", If[d[[3]] == 7, "LXX", If[d[[3]] == 8, "LXXX", If[d[[3]] == 9, "XC"]]]]]]]]]]; str4 = If[d[[4]] == 0, "", If[d[[4]] == 1, "I", If[d[[4]] == 2, "II", If[d[[4]] == 3, "III", If[d[[4]] == 4, "IV", If[d[[4]] == 5, "V", If[d[[4]] == 6, "VI", If[d[[4]] == 7, "VII", If[d[[4]] == 8, "VIII", If[d[[4]] == 9, "IX"]]]]]]]]]]; s1 = {str1}; s2 = {str2}; s3 = {str3}; s4 = {str4}; s1 <> s2 <> s3 <> s4 MCMXCV |
Stand 2024-01-17
Manfred Börgens | Zur Leitseite