Cifrele latine ale numelui. Cum sunt aranjate cifrele romane?
numere romane- numerale folosite de vechii romani în sistemul lor de numere nepozițional.
Numerele naturale se scriu prin repetarea acestor cifre. În același timp, dacă un număr mare este în fața unuia mai mic, atunci se adună (principiul adunării), dacă cel mai mic este în fața celui mai mare, atunci cel mai mic se scade din cel mai mare. (principiul scăderii). Ultima regulă se aplică doar pentru a evita repetarea de patru ori a aceleiași figuri.
Cifrele romane au apărut în jurul anului 500 î.Hr. odată cu etruscii.
NumereleSă rămână în memorie scrisori cifrele în ordine descrescătoare, există o regulă mnemonică:
M s D arim DIN față în față L imonie, X vatite V sem eu X.
Respectiv M, D, C, L, X, V, I
Pentru a scrie corect numere mari în cifre romane, trebuie să notați mai întâi numărul de mii, apoi sutele, apoi zeci și, în final, unii.
Există o „comandă rapidă” pentru scrierea numerelor mari, cum ar fi 1999. Nu este recomandată, dar uneori este folosită pentru simplitate. Diferența este că, pentru a reduce o cifră, orice cifră poate fi scrisă în stânga acesteia:
- 999. Mie (M), scădeți 1 (I), obțineți 999 (IM) în loc de CMXCIX. Consecință: 1999 - MIM în loc de MCMXCIX
- 95. O sută (C), scădeți 5 (V), obțineți 95 (VC) în loc de XCV
- 1950: Mie (M), scade 50 (L), obținem 950 (LM). Consecință: 1950 - MLM în loc de MCML
Abia în secolul al XIX-lea numărul „patru” a fost notat peste tot ca „IV”; înainte de aceasta, înregistrarea „IIII” a fost folosită cel mai des. Cu toate acestea, intrarea „IV” poate fi găsită deja în documentele manuscrisului „Forme of Cury” datând din 1390. Majoritatea cadranelor ceasurilor folosesc în mod tradițional „IIII” în loc de „IV”, în principal din motive estetice: această ortografie oferă simetrie vizuală cu numerele „VIII” de pe partea opusă, iar „IV” inversat este mai greu de citit decât „IIII” .
Aplicarea cifrelor romane
În rusă, cifrele romane sunt folosite în următoarele cazuri:
- Secolul sau numărul mileniului: secolul XIX, mileniul II î.Hr. e.
- Numărul de ordine al monarhului: Carol al V-lea, Ecaterina a II-a.
- Numărul volumului într-o carte cu mai multe volume (uneori numere de părți, secțiuni sau capitole de carte).
- În unele ediții - numere de pagini cu prefața la carte, pentru a nu corecta referințele din interiorul textului principal la schimbarea prefaței.
- Marcaje antice ale cadranului ceasului.
- Alte evenimente importante sau elemente din listă, cum ar fi: V postulatul lui Euclid, II Razboi mondial, XXII Congres al PCUS etc.
În alte limbi, domeniul de aplicare al cifrelor romane poate diferi, de exemplu, în tarile vestice Cifrele romane scriu uneori numărul anului.
Numerele romane și Unicode
Standardul Unicode definește caracterele pentru a reprezenta cifrele romane ca parte a acestuia Forme numerice(Engleză) Formulare de numere), în zona caracterelor cu coduri de la U+2160 la U+2188. De exemplu, MCMLXXXVIII poate fi reprezentat sub forma ⅯⅭⅯⅬⅩⅩⅩⅧ . Acest interval include atât cifre mici, cât și litere mari de la 1 (Ⅰ sau I) la 12 (Ⅻ sau XII), inclusiv glife combinate pentru numere compuse, cum ar fi 8 (Ⅷ sau VIII), în principal pentru compatibilitatea cu seturile de caractere din Asia de Est în standardele industriale, cum ar fi ca JIS X 0213 unde sunt definite aceste caractere. Glifele combinate sunt folosite pentru a reprezenta numere care anterior erau alcătuite din caractere simple (de exemplu, Ⅻ în loc de reprezentarea lor ca Ⅹ și Ⅱ). În plus, există glife pentru 1000, 5000, 10000 arhaic, C mare inversat (Ɔ), 6 târziu (ↅ, similar cu stigma grecească: Ϛ), începutul 50 (ↆ, similar cu săgeata în jos ↓⫝⊥ ), 50 000 și 100 000. Trebuie remarcat faptul că c, ↄ din spate mic nu este inclus în cifrele romane, dar este inclus în standardul Unicode ca litera Claudiană mare Ↄ .
Codul | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | A | B | C | D | E | F |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Sens | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 50 | 100 | 500 | 1 000 |
U+2160 | Ⅰ
2160 | Ⅱ
2161 | Ⅲ
2162 | Ⅳ
2163 | Ⅴ
2164 | Ⅵ
2165 | Ⅶ
2166 | Ⅷ
2167 | Ⅸ
2168 | Ⅹ
2169 | Ⅺ
216A | Ⅻ
216B | Ⅼ
216C | Ⅽ
216D | Ⅾ
216E | Ⅿ
216F |
U+2170 | ⅰ
2170 | ⅱ
2171 | ⅲ
2172 | ⅳ
2173 | ⅴ
2174 | ⅵ
2175 | ⅶ
2176 | ⅷ
2177 | ⅸ
2178 | ⅹ
2179 | ⅺ
217A | ⅻ
217B | ⅼ
217C | ⅽ
217D | ⅾ
217E | ⅿ
217F |
Sens | 1 000 | 5 000 | 10 000 | - | - | 6 | 50 | 50 000 | 100 000 | |||||||
U+2160! U+2180 | ↀ
2180 | ↁ
2181 | ↂ
2182 | Ↄ | ↄ | ↄ | ↄ | ↄ | ↄ |
Caracterele din intervalul U+2160-217F sunt prezente doar pentru compatibilitate cu alte standarde care definesc acele caractere. În viața de zi cu zi, sunt folosite litere obișnuite ale alfabetului latin. Afișarea unor astfel de caractere necesită software, care acceptă standardul Unicode și un font care conține glife corespunzătoare acestor caractere.
Cifrele romane ne provoacă adesea dificultăți.
Dar acestea sunt de obicei folosite atunci când se numără secolele și capitolele de carte, când se desemnează dimensiunile de îmbrăcăminte și pașii în muzică.
Cifrele romane sunt în viața noastră. Așa că este prea devreme să renunțăm la ele. Mai ușor de învățat, de înțeles și de învățat. Mai mult, este ușor.
Deci, pentru a desemna numere în latină, sunt acceptate combinații ale următoarelor 7 caractere: I (1), V (5), X (10), L (50), C (100), D (500), M (1000). ).
De ce au fost alese literele latine pentru a reprezenta numerele 5, 50, 100, 500 și 1000? Se pare că acestea nu sunt litere latine, ci caractere complet diferite. Faptul este că baza alfabetului latin (și, apropo, există în mai multe versiuni - 23, 24 și 25 de litere) a fost alfabetul grecesc occidental.
Astfel, cele trei caractere L, C și M se întorc la alfabetul grecesc occidental, aici desemnând sunete aspirate, care nu erau în limba latină. Când se forma alfabetul latin, ei au fost cei care s-au dovedit a fi de prisos. Și au fost adaptate pentru a desemna numere în grafia latină. Mai târziu, ortografia lor a coincis cu literele latine. Deci, semnul C (100) a devenit similar cu prima literă a cuvântului latin centum (o sută), iar M - (1000) - cu prima literă a cuvântului mille (mii). În ceea ce privește semnul D (500), era jumătate din semnul F (1000), apoi a devenit asemănător cu o literă latină. Semnul V (5) era doar jumătatea superioară a semnului X (10).
În acest sens, de altfel, teoria populară că numele biroului bisericesc al Papei (Vicarius Filii Dei), la înlocuirea literelor cu cifre romane, se adună la „numărul diavolului”, pare amuzantă.
Deci, cum să înțelegeți numerele latine?
Dacă semnul care indică un număr mai mic se află în dreapta semnului care indică un număr mai mare, atunci cel mai mic se adaugă celui mai mare; daca este in stanga, atunci scade:
VI - 6, i.e. 5+1
IV - 4, i.e. 5-1
LX - 60, adică 50+10
XL - 40, adică 50-10
CX - 110, adică 100+10
XC - 90, i.e. 100-10
MDCCCXII - 1812, i.e. 1000+500+100+100+100+10+1+1.
Pot exista semnificații diferite pentru același număr. Deci, numărul 80 poate fi reprezentat ca LXXX (50+10+10+10) și ca XXC(100-20).
Numerele romane de bază arată astfel:
I (1) - unus (unus)
II(2) - duo (duo)
III(3) - tres (tres)
IV (4) - quattuor (quattuor)
V (5) - quinque (quinque)
VI(6) - sex (sex)
VII (7) - septem (septem)
VIII (8) - oct (octo)
IX (9) - novem (novem)
X (10) - decem (decem), etc.
XX (20) - viginti (viginti)
XXI (21) - unus et viginti sau viginti unus
XXII (22) - duo et viginti sau viginti duo etc.
XXVIII (28) - duodetriginta (duodetriginta)
XXIX (29) - undetriginta (undetriginta)
XXX (30) - triginta (triginta)
XL (40) - quadraginta (quadraginta)
L (50) - quinquaginta (quinquaginta)
LX (60) - sexaginta (sexaginta)
LXX (70) - septuaginta (septuaginta)
LXXX (80) - octoginta (octoginta)
XC (90) - nonaginta (nonaginta)
C (100) - centum (centum)
CC (200) - ducenti (ducenti)
CCC (300) - trecenti (trecenti)
CD (400) - quadrigenti (quadrigenti)
D (500) - quingenti (quingenti)
DC (600) - sexcenti (seccenti)
DCC (700) - septigenti (septigenti)
DCCC(800) - octingenti (octigenti)
CM (DCCCC) (900) - nongenti (nongenti)
M (1000) - mile (mille)
MM (2000) - duo milia (duo milia)
V (5000) - quinque milia (quinque milia)
X (10000) - decem milia (decem milia)
XX (20000) - viginti milia (viginti milia)
C (1000000) - centum milia (centum milia)
XI (1000000) - decies centena milia (decies centena milia)"
Elena Dolotova.
Clopoțeii de ceas al Turnului Spasskaya cu cifre romane pe cadran Sisteme numerice în cultură indo-arabăEst asiaticAlfabeticAlte pozițional sisteme mixte nepoziționalăarabic tamil birmanez |
Khmer Lao mongol thailandez |
chinez japonez Suzhou coreeană |
vietnamez bastoane de numărat |
Abjadia armean Aryabhata chirilic |
greacă etiopian evreiesc Akshara-sankhya |
babilonian egiptean etrusc român Dunărea |
Pod Kipu Mayan Egee Simboluri ale KPU |
2, 3, 4, 5, 6, 8, 10, 12, 16, 20, 60 | |
Nega-pozițional | |
simetric | |
Fibonacci | |
Singular (unar) |
numere romane- numerele folosite de vechii romani în sistemul lor de numere non-pozițional.
Numerele naturale se scriu prin repetarea acestor cifre. În același timp, dacă un număr mare este în fața unuia mai mic, atunci se adună (principiul adunării), dacă cel mai mic este în fața unuia mai mare, atunci cel mai mic se scade din cel mai mare. (principiul scăderii). Ultima regulă se aplică doar pentru a evita repetarea de patru ori a aceleiași figuri.
Numerele romane au apărut în anul 500 î.Hr. de la etrusci, care poate să fi împrumutat unele dintre numere de la proto-celți.
numere romane
Număr Denumire1 | eu |
2 | II |
3 | III |
4 | IV, până în secolul al XIX-lea - III |
5 | V |
6 | VI |
7 | VII |
8 | VIII (uneori - IIX) |
9 | IX (uneori - VIIII) |
10 | X |
20 | XX |
30 | XXX |
40 | XL |
50 | L |
60 | LX |
70 | LXX |
80 | LXXX |
90 | XC |
100 | C |
200 | CC |
300 | CCC |
400 | CD |
500 | D; IƆ |
600 | DC; IƆC |
700 | DCC; IƆCC |
800 | DCCC; IƆCCC |
900 | CM; CCIƆ |
1 000 | M; ↀ; CIƆ |
2 000 | MM; CIƆCIƆ |
3 000 | MMM; CIƆCIƆCIƆ |
3 999 | MMMCMXCIX |
4 000 | MV; ↀↁ; CIƆIƆƆ |
5 000 | V; ↁ; IƆƆ |
6 000 | VM; ↁↀ; IƆƆCIƆ |
7 000 | VMM; ↁↀↀ; IƆƆCIƆCIƆ |
8 000 | VMMM; ↁↀↀↀ; IƆƆCIƆCIƆCIƆ |
9 000 | IX; ↀↂ; CIƆCCIƆƆ |
10 000 | X; ↂ; CCIƆƆ |
20 000 | XX; ↂↂ; CCIƆƆCCIƆƆ |
30 000 | XXX; ↂↂↂ; CCIƆƆCCIƆƆCCIƆƆ |
40 000 | XL; ↂↇ; CCIƆƆƆƆƆ |
50 000 | L; ↇ; IƆƆƆ |
60 000 | LX; ↇↂ; IƆƆƆCCIƆƆ |
70 000 | LXX; ↇↂↂ; IƆƆƆCCIƆƆCCIƆƆ |
80 000 | LXXX; ↇↂↂↂ; IƆƆƆCCIƆƆCCIƆƆCCIƆƆ |
90 000 | XC; ↂↈ; CCIƆƆCCCIƆƆƆ |
100 000 | C; ↈ; CCCIƆƆƆ |
200 000 | CC; ↈↈ; CCCIƆƆƆCCCIƆƆƆ |
300 000 | CCC; ↈↈↈ; CCCIƆƆƆCCCIƆƆƆCCCIƆƆƆ |
400 000 | CD; CCCIƆƆƆIƆƆƆƆ |
500 000 | D; IƆƆƆƆ |
600 000 | DC; IƆƆƆƆCCCIƆƆƆ |
700 000 | DCC; IƆƆƆƆCCCIƆƆƆCCCIƆƆƆ |
800 000 | DCCC; IƆƆƆƆCCCIƆƆƆCCCIƆƆƆCCCIƆƆƆ |
900 000 | CM; CI; CCCIƆƆƆCCCCIƆƆƆƆ |
1 000 000 | M; eu; CCCCIƆƆƆƆ |
nu mai mult de trei ori la rând nu mai mult de 3999 sursa nespecificata 2369 zile
XXXII- în special, se obișnuiește să se evidențieze cifrele romane în textul scris de mână rusesc (aceasta nu este utilizată în compunerea tipografică din cauza complexității tehnice). Pentru alți autori, linia de suprafață ar putea indica o creștere a valorii figurii de 1000 de ori: V = 5000.
Ceasuri Tissot cu ortografia tradițională „IIII”Abia în secolul al XIX-lea numărul „patru” a fost notat peste tot ca „IV”; înainte de aceasta, înregistrarea „IIII” a fost folosită cel mai des. Cu toate acestea, intrarea „IV” poate fi găsită deja în documentele manuscrisului „Forme of Cury” datând din 1390. Majoritatea cadranelor ceasurilor folosesc în mod tradițional „IIII” în loc de „IV”, în principal din motive estetice: această ortografie oferă simetrie vizuală cu numerele „VIII” de pe partea opusă, iar „IV” inversat este mai greu de citit decât „IIII” . Există și o versiune că IV nu a fost scris pe cadran, deoarece IV sunt primele litere ale numelui zeului Jupiter (IVPITER).
Numărul mai mic poate fi scris în stânga celui mai mare, apoi ar trebui să fie scăzut din cel mai mare. În acest caz, numai numerele care denotă 1 sau puterile lui 10 pot fi scăzute și numai următoarele două numere din seria de numere la scădere (adică scăderea, înmulțită cu 5 sau 10) pot acționa ca minuend. Repetările unui număr mai mic nu sunt permise. Astfel, există doar șase opțiuni folosind „regula scăderii”:
- IV = 4
- IX = 9
- XL=40
- XC = 90
- CD=400
- CM=900
De exemplu, numărul 94 va fi XCIV \u003d 100 - 10 + 5 - 1 \u003d 94 - așa-numita „regulă de scădere” (a apărut în epoca antichității târzii, iar înainte de aceasta, romanii au scris numărul 4 ca IIII , iar numărul 40 ca XXXX).
De menționat că alte metode de „scădere” nu sunt permise; astfel, numărul 99 ar trebui scris ca XCIX, dar nu ca IC. Cu toate acestea, astăzi, în unele cazuri, se folosește și o notație simplificată a numerelor romane: de exemplu, în program Microsoft Excel atunci când convertiți cifre arabe în cifre romane folosind funcția ROMAN(), puteți utiliza mai multe tipuri de reprezentare a numerelor, de la clasică la foarte simplificată (de exemplu, numărul 499 poate fi scris ca CDXCIX, LDVLIV, XDIX, VDIV sau ID) . Simplificarea este că pentru a reduce orice cifră, orice altă cifră poate fi scrisă în stânga acesteia:
Cazuri de astfel de notare a numerelor (de obicei ani) se găsesc adesea în creditele serialelor de televiziune din SUA. De exemplu, pentru anul 1998: IIMM în loc de MCMXCVIII.
Aplicație
Autograf al lui B. N. Elțin 10 noiembrie 1988. Luna este indicată cu cifre romane. Cifre romane pentru ziua săptămânii pe o vitrină din Vilnius- Numărul ordinal al monarhului
- Numărul de corp în Forțele Armate
- Grupa de sânge pe peticele uniformei personalului militar al Forțelor Armate ale Federației Ruse
- Baza de diluții homeopate (Coniu X3, Aconiu C200 etc.).
- În analiza matematică, numărul derivatului de deasupra treilea este uneori scris cu cifre romane.
Cifrele romane au fost utilizate pe scară largă în URSS atunci când indicau data pentru a indica luna anului, de exemplu: 11 / III-85 sau 9.XI.89, acest lucru se vede pe multe documente de arhivă ale acelor vremuri. La fel, printr-o bară oblică, au notat și data lecției în jurnalele de clasă, de exemplu: 24/II. Un format special era adesea folosit pentru a indica datele vieții și morții pe pietre funerare, unde luna anului era indicată și cu cifre romane, de exemplu: 18 6 XII 78 ∼ 19 5 III 53 (\displaystyle 18(\frac ( 6)(XII))78\sim 19 (\frac (5)(III))53) . Un format similar a fost folosit în certificatele medicale în anii 1970 și 1980.
Odată cu trecerea la prelucrarea informatică a informațiilor, formatele de date bazate pe cifre romane au căzut practic din uz.
În alte limbi, domeniul de aplicare al cifrelor romane poate diferi. În țările occidentale, numărul anului este adesea scris cu cifre romane, de exemplu, pe frontoanele clădirilor și în creditele producțiilor de film și video.
În Lituania modernă, pe indicatoarele rutiere, pe vitrinele magazinelor, pe panourile întreprinderilor, zilele săptămânii pot fi indicate cu cifre romane.
Unicode
І · Ӏ · I · I · l · ﺍ · ו · Ι · ǀ · | ɪ 丨 Simboluri cu un stil similar: V V ∨ ⋁ ⋎ Simboluri cu un stil similar: X Χ X ㄨ Simboluri cu un stil similar: L Լ Simboluri cu un stil similar: C C Ϲ င Un simbol cu un stil similar: D Simboluri cu un stil similar: M Μ M Ϻ Simboluri cu un stil similar: ʕ · Ҁ · Ϟ · Ϛ · ႺForme numerice(Engleză) Formulare de numere) în zona caracterelor cu coduri de la U+2160 la U+2188. De exemplu, MCMLXXXVIII poate fi reprezentat sub forma ⅯⅭⅯⅬⅩⅩⅩⅧ. Acest interval include atât cifre mici, cât și litere mari pentru numerele de la 1 (Ⅰ sau I) la 12 (Ⅻ sau XII), inclusiv glife combinate pentru numerele compuse, cum ar fi 8 (Ⅷ sau VIII), în principal pentru a asigura compatibilitatea cu seturile de caractere din Asia de Est în standarde industriale, cum ar fi JIS X 0213, unde aceste caractere sunt definite. Glifele combinate sunt folosite pentru a reprezenta numere care anterior erau alcătuite din caractere simple (de exemplu, Ⅻ în loc de reprezentarea sa ca Ⅹ și Ⅱ). În plus, există glife pentru 1000 arhaic, 5000, 10.000, reversul mare C (Ɔ), 6 târziu (ↅ, similar cu stigma grecească: Ϛ), începutul 50 (ↆ, similar cu săgeata în jos ↓⫝⊥), 50.000, și 100 000. Trebuie remarcat faptul că micul înapoi c, ↄ nu este inclus în cifrele romane, dar este inclus în standardul Unicode ca litera Claudiană majusculă Ↄ.
Numerele romane Unicode Cod 0 1 2 3 4 5 6 7 8 9 ABCDEF Valoare 1 2 3 4 5 6 7 8 9 10 11 12 50 100 500 1000 U+2160 U+2170 Valoare 1000 50000000000100000100001
Afișarea tuturor acestor caractere necesită un software care acceptă standardul Unicode și un font care conține glifele corespunzătoare (cum ar fi fontul Universalia).
Expresii obisnuite
Expresia regulată pentru verificarea numerelor romane este ^(M(0,3))(D?C(0,3)|C)(L?X(0,3)|X)(V?I(0,3) | I)$ În Perl, puteți folosi expresia regulată m/\b((?:M(0,3)?(?:D?C(0,3)|C)?(?:L ?X(? 0,3)|X)?(?:I(0,3)?V?I(0,3)|I)))\b/gs.
transformare
Pentru a converti numerele scrise cu cifre arabe în romane, se folosesc funcții speciale. De exemplu, în versiunea rusă a Microsoft Excel, există o funcție pentru aceasta ROMÂN ROMÂN(argument).
Funcții de conversie JavaScript var arab = ; var roman = ["I","IV","V","IX","X","XL","L","XC","C","CD","D","CM „„M”]; function arabToRoman(number) ( if(!number) return ""; var ret = ""; var i = arab.length - 1; while(number > 0) ( if(number >= arab[i]) ( ret + = roman[i]; număr -= arab[i]; ) else ( i--; ) ) return ret; ) function romanToArab(str) ( str = str.toUpperCase(); var ret = 0; var i = arab .lungime - 1;var pos = 0;while(i >= 0 && pos< str.length) { if(str.substr(pos, roman[i].length) == roman[i]) { ret += arab[i]; pos += roman[i].length; } else { i--; } } return ret; } Аналогичные функции на Си (C89): #include const int arabar = { 1, 4, 5, 9, 10, 40, 50, 90, 100, 400, 500, 900, 1000}; const char *romanar = { "I", "IV", "V", "IX", "X", "XL", "L", "XC", "C", "CD", "D", "CM", "M"}; char *arab2roman(unsigned short int arab) { static char roman; const int m = sizeof(arabar)/sizeof(int)-1, arabmax=arabar[m]; const char romanmax=romanar[m]; int i, n; if(!arab) { *roman=0; return roman; } i=0; while(arab>arabmax) ( roman = romanmax; arab -= arabmax; ) n=m; while(arab > 0) ( if(arab >= arabar[n]) ( roman = romanar[n]; if(n&1) roman = romanar[n]; arab -= arabar[n]; ) else n--; ) roman[i]=0; return roman; ) unsigned short int roman2arab(char *roman) ( const int m = sizeof(arabar)/sizeof(int)-1; unsigned short int arab; int len, n, i, pir; len=strlen(roman); arab= 0; n=m; i=0; în timp ce (n >= 0 && i< len) { pir=n&1; if(roman[i] == romanar[n] && (!pir || roman == romanar[n])) { arab += arabar[n]; i += 1+pir; } else n--; } return arab; } Программа перевода арабских цифр в римские и наоборот type str2 = string; const Rims: array of str2 = ("M","CM","D","CD","C","XC","L","XL","X","IX","V","IV","I"," "); Arab: array of integer = (1000, 900, 500, 400, 100, 90, 50, 40, 10, 9, 5, 4, 1, 0); var N, NI, I, J: integer; S: string; function Arab2Rim(N: integer) : string; var S: string; I: integer; begin S:= ""; I:=1; while N >0 începe în timp ce Arab[I]"" încep în timp ce Jantele[I] = Copiere(S, 1, Lungime(Jante[I])) nu începe S:= Copiere(S, 1+Lungime(Jante[I]) , 255); N:= N + Arab[I]end; I:=I+1capăt; Rim2Arab:= Nend; begin WriteLn("Traducere din arabă în cifre romane. 1999 B_SA"); ( Write("Introduceți un număr de convertit:"); ReadLn(N);) for NI:= 26 to 46 do WriteLn(NI," = ",Arab2Rim(NI)," back ", Rim2Arab(Arab2Rim(NI) ) ); Sfârșit. Funcția de conversie arabă în romană în funcția Pascal Arab2Roman(arab:integer):șir; var i:intger; d:întreg; arab_str:string; arab_len:integer; începe Rezultatul:= ""; arab_str:= IntToStr(arab); arab_len:= Lungime(arab_str); for i:= 0 to arab_len-1 do begin d:= StrToInt(String(arab_str)); dacă (d+1) mod 5 = 0, atunci Rezultat:= Copiere("IXCM", 1+i, 1) + Copiere("VXLCDM", i*2 + (d+1) div 5, 1) + Rezultat altfel Rezultat:= Copiere("VLD", 1+i, d div 5) + Copiere("IIIXXXCCCMMM", 1+i*3, (d mod 5)) + Rezultat; Sfârșit; Sfârșit;
Funcția de conversie arabă în romană în BASIC (cel mai mult cod scurt) 10 INTRODUCERE „NUMĂR ARAB: „; A$ 20 PENTRU I=0 PENTRU LEN(A$)-1 30 X=VAL(MID$(A$,LEN(A$)-I,1)) 40 DACA X=4 SAU X=9 ATUNCI B$= MID$("IXCM",I+1,1)+MID$("VXLCDM",I*2+(X+1)/5,1)+B$ 50 IF X4 AND X case 1999) to roman on XPath string-join(pentru $num în (1999) return (("","M","MM","MMM")[($num idiv 1000) mod 10+1], ( "","C", "CC","CCC","CD","D","DC","DCC","DCCC","CM")[($num idiv 100) mod 10+1 ], (""," X","XX","XXX","XL","L","LX","LXX","LXXX","XC")[($num idiv 10) mod 10+1], (" ","I","II","III","IV","V","VI","VII","VIII","IX")[$num mod 10 +1]), "" ) O funcție pentru a converti un număr arab (în acest caz 1999) într-un număr roman în Perl use strict; folosiți avertismente; my $n = 1999; numerele mele = [ ["", qw(I II III IV V VI VII VIII IX) ], ["", qw(X XX XXX XL L LX LXX LXXX XC) ], ["", qw(C CC CCC CD D DC DCC DCCC CM)], ["", qw(M MM MMM)]]; my $i = 0; @resul meu = (); push @res, ($nums->[$i++][ ($n % 10, $n = int($n / 10)) ]) pentru 0 .. 3; imprimare inversă @res; Clasă pentru conversia unui număr arab (de la 1 la 3999) într-un număr roman în Java import java.util.*; clasă publică IntegerConverter ( public static String intToRoman(int number) ( dacă (număr >= 4000 || număr iterator = units.descendingKeySet().iterator(); while (iterator.hasNext()) ( Integer key = iterator.next(); ); while (număr >= cheie) (număr -= cheie; result.append(units.get(key)); ) ) return result.toString(); ) private static finale NavigableMap unități; static ( NavigableMap initMap = new TreeMap<>(); initMap.put(1000, "M"); initMap.put(900, "CM"); initMap.put(500, „D”); initMap.put(400, „CD”); initMap.put(100, "C"); initMap.put(90, "XC"); initMap.put(50, "L"); initMap.put(40, "XL"); initMap.put(10, "X"); initMap.put(9, "IX"); initMap.put(5, "V"); initMap.put(4, "IV"); initMap.put(1, „I”); units = Collections.unmodifiableNavigableMap(initMap); ) ) Clasa de extensie pentru conversia numerelor romane în arabă și invers, pe CSharp /// /// Clasa este destinată conversiei numerelor arabe în numere romane și invers /// /// /// Clasa conține inițial alfabetul numerelor romane care poate determina numere arabe de la 1 la 39999 /// Dacă trebuie să extindeți intervalul, puteți defini notații suplimentare pentru numerele romane folosind /// câmpul Numere romane de bază clasă publică statică Numerale romane ( /// /// Alfabetul cifrelor romane de bază /// Alfabetul este construit în dicționarul de formă Cheia unui dicționar este număr arab(int), valoare - numărul său corespunzător /// Numărul roman (șir) /// /// /// Conține notația romană pentru numerele arabe 1*,4*,5*,9* - unde „*” reprezintă 0 ..N zerouri /// Când este creat, conține desemnarea numerelor de la 1 la 10000 (I...ↂ) de la 1 la 39999. /// Dacă doriți să puteți lucra cu o cantitate mare Numere romane, atunci trebuie să adăugați în listă /// simboluri suplimentare începând de la 40000 fără a sări peste elementele 1*,4*,5*,9*. /// public static SortedList BasicRomanNumbers ( obține; set; ) static RomanNumber() ( BasicRomanNumbers = nou SortedList(17); BasicRomanNumbers.Add(1, "I"); BasicRomanNumbers.Add(4, "IV"); BasicRomanNumbers. Adăugați(5, „V”); Numere romane de bază.Adăugați(9, „IX”); Numere romane de bază.Adăugați(10, „X”); Numere romane de bază.Adăugați(40, „XL”); Roman de bază Numbers.Add(50, "L "); BaseRomanNumbers.Add(90, "XC"); BaseRomanNumbers.Add(100, "C"); BaseRomanNumbers.Add(400, "CD"); BaseRomanNumbers.Add(500, „D”); BaseRomanNumbers.Add (900, „CM”); Basic Roman Numbers.Add(1000, „M”); Basic Roman Numbers.Add(4000, „Mↁ”); Basic Roman Numbers.Add(5000, „ↁ”); Numerele romane de bază.Add(9000, „Mↂ” ); BasicRomanNumbers.Add(10000, „ↂ”); ) /// /// Calculează numărul roman maxim posibil pentru alfabetul cu cifre romane curent. /// /// Număr roman maxim posibil public static uint MaximumRomanNumber() ( int lastNumber = BasicRomanNumbers.Keys.Last(); int numberWithoutZeros = int.Parse(lastNumber.ToString().Replace("0","\0) ")); int tentativ=0; comutare(NumberNoZeros) (cazul 1: tentativ = ultimulNumăr * 4 - 1; pauză; cazul 4: cazul 9: tentativ = ultimulNumăr; pauză; cazul 5: tentativ = ultimulNumăr + ultimulNumăr / 5 * 3; break; implicit: break; ) return uint.Parse(pre.ToString().Replace("0", "9"));; ) /// /// Convertește întregul în numeral roman /// / / / Numărul arab de convertit în notație romană /// Generat când un număr egal cu „0” /// sau un număr mai mare decât numărul maxim roman este trecut ca parametru. /// Un șir reprezentând un număr roman șir public static ArabicRoman(acest număr intArab) ( StringBuilder numberRoman = new StringBuilder(); //Excludeți semnul „-” din numărul arab și faceți din acesta primul caracter al numărului roman dacă (număr arab< 0) { числоРимское.Append("-"); числоАраб = -числоАраб; } if (числоАраб == 0) throw new ArgumentOutOfRangeException("числоАраб", числоАраб, "Недопустимое значение аргумента: римские числа не могут быть равными\"0\""); else if (числоАраб >MaxRomanNumber()) throw new ArgumentOutOfRangeException("NumberArab", NumberArab, string.Format("Valoare nevalidă a argumentului: Nu se poate seta un număr roman mai mare decât (0)", MaxRomanNumber())); //Descompuneți numărul arab în numerele sale constitutive romane și combinați-le într-un șir var requiredBasicRomanNumbers = from to in BasicRomanNumbers.Keys unde k = 1) ( numberArab -= current; numberRoman.Append(BasicRomanNumbers[current]); ) ) return numberRoman .ToString(); ) /// /// Convertește un număr roman în arabă /// /// Un număr roman care urmează să fie convertit într-un int /// Generat când un număr non-roman este transmis ca parametru /// Un număr întreg care reprezintă Notație arabă număr roman public static int roman în arabic (acest șir număr roman) ( int număr arab = 0; sbyte negativ = 1; șir roman = număr roman.Trim(); if (roman == "-") ( negativ = -1; roman = roman. Substring(1); ) StringBuilder RomanNumber șablon = new StringBuilder(); foreach (int to în BaseRomanNumbers.Keys) ( int index = BaseRomanNumbers.Keys.IndexOf(to); string quantifier="?" ; if (index == 0 | |(index % 4) == 0) quantifier="(0,3)";RomanNumber template.Insert(0, string.Format("(?((1))(2) )?", to.ToString() , BaseRomanNumbers[k], quantifier)); ) //Ignorați majuscule + potrivirea trebuie să înceapă la începutul șirului patternRomanNumbers.Insert(0, "(?i)^"); / /Potrivirea trebuie găsită la sfârșitul modelului de șirP ImskogoNumber.Append("$"); // Verificare simplificată. Nu verifică erori precum IVII dacă (!Regex.IsMatch(Roman, RomanNumber template.ToString())) aruncă new FormatException(string.Format("Text \"(0)\" nu este un număr roman",Roman număr)); Număr de potrivire = Regex.Match(Roman, RomanNumber template.ToString()); foreach (int to in BaseRomanNumbers.Keys) ( numberArab += number.Groups[to.ToString()].Length / BaseRomanNumbers[to].Length * to; ) return numberArab * negativ; ) )
Cifrele romane sunt:
Cifrele romane Clopoțeii de ceas ale Turnului Spasskaya Sistemele numerice în cultură Sistemul de numere indo-arabSistemele numerice din Asia de EstSisteme numerice alfabeticeAlte sisteme Sisteme numerice poziționale Sisteme numerice mixte Sisteme numerice nepoziționalearabic indian tamil birmanez |
Khmer Lao mongol thailandez |
chinez japonez Suzhou coreeană |
vietnamez bastoane de numărat |
Abjadia armean Aryabhata chirilic |
greacă etiopian evreiesc Catapayadi |
babilonian egiptean etrusc român |
Pod Kipu Mayskaya |
Sistem de numere zecimale (10) | |
2, 3, 4, 5, 6, 7, 8, 9, 12, 16, 20, 60 | |
Sistem de numere negative | |
Sistem de numere simetric | |
Sistemul de numere Fibonacci | |
Sistem numeric unitar (unar). | |
Lista sistemelor numerice |
numere romane- numerele folosite de vechii romani în sistemul lor de numere non-pozițional.
Numerele naturale se scriu prin repetarea acestor cifre. În același timp, dacă un număr mare este în fața unuia mai mic, atunci se adună (principiul adunării), dacă cel mai mic este în fața celui mai mare, atunci cel mai mic se scade din cel mai mare. (principiul scăderii). Ultima regulă se aplică doar pentru a evita repetarea de patru ori a aceleiași figuri.
Cifrele romane au apărut în anul 500 î.Hr. printre etrusci.
Numerele
numere romane
În rusă, există reguli mnemonice pentru fixarea denumirilor alfabetice ale numerelor în ordine descrescătoare:
M s D arim DIN față în față L imonie, X vatite V sem eu X.
M s D noi mancam C sfat L ish X bine V bine manierat eu indivizii
Respectiv M, D, C, L, X, V, I
Exemple
Număr Denumire romană NotăPentru a scrie corect numere mari în cifre romane, trebuie să notați mai întâi numărul de mii, apoi sutele, apoi zeci și, în final, unii.
În acest caz, unele numere (I, X, C, M) pot fi repetate, dar nu mai mult de trei ori; astfel, ele pot fi folosite pentru a scrie orice număr întreg nu mai mult de 3999(MMMCMXCIX). În primele perioade, au existat semne care indicau numere mai mari - 5000, 10.000, 50.000 și 100.000 [ sursa nespecificata 683 zile] (atunci numărul maxim conform regulii menționate este 399.999). La scrierea numerelor în sistemul numeric roman, cifra mai mică poate fi în dreapta celei mai mari; in acest caz i se adauga. De exemplu, numărul 283 în roman se scrie CCLXXXIII, adică 100+100+50+30+3=283. Aici, numărul care reprezintă o sută se repetă de două ori, iar numerele care reprezintă zece și, respectiv, unu, se repetă de trei ori.
Exemplu: numărul 1988. O mie M, nouă sute CM, opt zeci LXXX, opt unități VIII. Să le scriem împreună: MCMLXXXVIII.
Destul de des, pentru a evidenția numerele din text, peste ele se trasa o linie: LXIV. Uneori, linia era trasă atât deasupra cât și dedesubt: XXXII- în special, se obișnuiește să se evidențieze cifrele romane în textul scris de mână rusesc (aceasta nu este utilizată în compunerea tipografică din cauza complexității tehnice). Pentru alți autori, linia de suprafață ar putea indica o creștere a valorii figurii de 1000 de ori: VM = 6000.
Ceasuri Tissot cu ortografia tradițională „IIII”Abia în secolul al XIX-lea numărul „patru” a fost notat peste tot ca „IV”; înainte de aceasta, înregistrarea „IIII” a fost folosită cel mai des. Cu toate acestea, intrarea „IV” poate fi găsită deja în documentele manuscrisului „Forme of Cury” datând din 1390. Majoritatea cadranelor ceasurilor folosesc în mod tradițional „IIII” în loc de „IV”, în principal din motive estetice: această ortografie oferă simetrie vizuală cu numerele „VIII” de pe partea opusă, iar „IV” inversat este mai greu de citit decât „IIII” .
Numărul mai mic poate fi scris în stânga celui mai mare, apoi ar trebui să fie scăzut din cel mai mare. În acest caz, repetările unei cifre mai mici nu sunt permise. În romană, numărul 94 va fi XCIV=100-10+5-1=94 - așa-numita „regula de scădere” (a apărut în epoca antichității târzii, iar înainte de aceasta, romanii au scris numărul 4 ca IIII, și numărul 40 ca XXXX). Există șase moduri de a folosi „regula de scădere”:
- IV = 4
- IX = 9
- XL=40
- XC = 90
- CD=400
- CM=900
De menționat că alte metode de „scădere” nu sunt permise; astfel, numărul 99 ar trebui scris ca XCIX, dar nu ca IC. Cu toate acestea, astăzi, în unele cazuri, se folosește și o notație simplificată a numerelor romane: de exemplu, în Microsoft Excel, când convertiți cifre arabe în romane folosind funcția „ROMAN ()”, puteți utiliza mai multe tipuri de reprezentare a numerelor, de la clasic la foarte simplificat (de exemplu, numărul 499 poate fi scris ca CDXCIX, LDVLIV, XDIX, VDIV sau ID). Simplificarea este că pentru a reduce orice cifră, orice altă cifră poate fi scrisă în stânga acesteia:
- 999. Mie (M), scădeți 1 (I), obțineți 999 (IM) în loc de CMXCIX. Consecință: 1999 - MIM în loc de MCMXCIX
- 95. O sută (C), scădeți 5 (V), obțineți 95 (VC) în loc de XCV
- 1950: O mie (M), scade 50 (L), obținem 950 (LM). Consecință: 1950 - MLM în loc de MCML
Numerele romane pot fi folosite și pentru a scrie numere mari. Pentru a face acest lucru, deasupra numerelor care reprezintă mii este plasată o linie, iar deasupra numerelor care reprezintă milioane este plasată o linie dublă. De exemplu, numărul 123123 ar arăta astfel:
Și un milion este ca mine, dar nu cu unul, ci cu două trăsături la cap: I
Aplicație
Autograf al lui B. N. Elțin 10 noiembrie 1988. Luna este indicată cu cifre romane.În rusă, cifrele romane sunt folosite în următoarele cazuri:
- Secolul sau numărul mileniului: secolul XIX, mileniul II î.Hr. e.
- Numărul de ordine al monarhului: Carol al V-lea, Ecaterina a II-a.
- Numărul volumului într-o carte cu mai multe volume (uneori numere de părți, secțiuni sau capitole de carte).
- În unele ediții - numere de pagini cu prefața la carte, pentru a nu corecta referințele din interiorul textului principal la schimbarea prefaței.
- Marcaje antice ale cadranului ceasului.
- Alte evenimente importante sau articole de listă, de exemplu: V postulatul lui Euclid, Al Doilea Război Mondial, XX Congres al PCUS, Jocurile Olimpiadei a XXII-a etc.
- Valența elementelor chimice.
- Numărul ordinal al unei trepte din scară.
Cifrele romane au fost utilizate pe scară largă în URSS atunci când indicau data pentru a indica luna anului: 11 / III-85 sau 9.XI.89. Pentru a indica datele vieții și ale morții pe pietre funerare, se folosea adesea un format special, unde luna anului era indicată și cu cifre romane. Odată cu trecerea la prelucrarea informatică a informațiilor, formatele de date bazate pe cifre romane au căzut practic din uz.
În alte limbi, domeniul de aplicare al cifrelor romane poate avea unele particularități, de exemplu, în țările occidentale, cifrele romane înregistrează uneori numărul anului.
Dacă extindem cifrele grafic, obținem următoarele:
№ | eu | eu | V | eu | eu | X | eu | eu | V | eu | eu | X | eu | eu | V | eu | eu | X | eu | eu | V | eu | eu | X | eu | eu | V | eu | eu | L | eu | eu | V | eu | eu | X | |||||||||||||||||||||||||
1 | eu | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
2 | eu | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
3 | eu | eu | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
4 | eu | V | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
5 | V | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
6 | V | eu | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
7 | V | eu | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
8 | V | eu | eu | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
9 | eu | X | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
10 | X | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
11 | X | eu | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
12 | X | eu | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
13 | X | eu | eu | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
14 | X | eu | V | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
15 | X | V | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
16 | X | V | eu | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
17 | X | V | eu | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
18 | X | V | eu | eu | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||
19 | X | eu | X | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
20 | X | X | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
21 | X | X | eu | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
22 | X | X | eu | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
23 | X | X | eu | eu | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||
24 | X | X | eu | V | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||
25 | X | X | V | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
26 | X | X | V | eu | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||
27 | X | X | V | eu | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||
28 | X | X | V | eu | eu | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
29 | X | X | eu | X | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||
30 | X | X | X | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
31 | X | X | X | eu | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||
32 | X | X | X | eu | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||
33 | X | X | X | eu | eu | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
34 | X | X | X | eu | V | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
35 | X | X | X | V | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||
36 | X | X | X | V | eu | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
37 | X | X | X | V | eu | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
38 | X | X | X | V | eu | eu | |||||||||||||||||||||||||||||||||||||||||||||||||||||||
39 | X | X | X | eu | X | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
40 | X | L | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
41 | X | L | eu | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
42 | X | L | eu | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
43 | X | L | eu | eu | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||
44 | X | L | eu | V | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||
45 | X | L | V | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
46 | X | L | V | eu | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||
47 | X | L | V | eu | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||
48 | X | L | V | eu | eu | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
49 | X | L | eu | X | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||
50 | L | etc. până la MMMCMXCIX (3999) |
Unicode
Standardul Unicode recomandă utilizarea literelor latine obișnuite pentru a reprezenta cifrele romane. Cu toate acestea, standardul include și caractere speciale pentru cifrele romane ca parte a Forme numerice(Engleză) Formulare de numere) în zona caracterelor cu coduri de la U+2160 la U+2188. De exemplu, MCMLXXXVIII poate fi reprezentat sub forma ⅯⅭⅯⅬⅩⅩⅩⅧ. Acest interval include atât cifre mici, cât și litere mari de la 1 (Ⅰ sau I) la 12 (Ⅻ sau XII), inclusiv glife combinate pentru numere compuse, cum ar fi 8 (Ⅷ sau VIII), în principal pentru compatibilitatea cu seturile de caractere din Asia de Est în standardele industriale, cum ar fi ca JIS X 0213, unde aceste caractere sunt definite. Glifele combinate sunt folosite pentru a reprezenta numere care anterior erau alcătuite din caractere simple (de exemplu, Ⅻ în loc de reprezentarea sa ca Ⅹ și Ⅱ). În plus, există glife pentru 1000, 5000, 10.000 arhaic, reversul mare C (Ɔ), 6 târziu (ↅ, similar cu stigma grecească: Ϛ), începutul 50 (ↆ, similar cu o săgeată îndreptată în jos Template:Wmwwyairrufctr5ke4fuuUnicode) , 50 000 și 100 000. Rețineți că c mic înapoi, ↄ nu este inclus în cifrele romane, dar este inclus în standardul Unicode ca litera Claudiană majusculă Ↄ.
Unicode Numerele Romane Cod 0 1 2 3 4 5 6 7 8 9 ABCDEF Valoare 1 2 3 4 5 6 7 8 9 10 11 12 50 100 500 1000 U+2160 U+2170 Valoare 1000 5000 0 0 0 0 0 0 0 0 0 0 0 0 0 U+2160! U+2180
Afișarea tuturor acestor caractere necesită un software care acceptă standardul Unicode și un font care conține glifele corespunzătoare.
Expresii obisnuite
Expresia regulată pentru verificarea numerelor romane este „^(?i)M(0,3)(D?C(0,3)|C)(L?X(0,3)|X)(V?I(0) , 3)|I)$". În Perl, puteți folosi expresia regulată „m/((?i)M(0,3)(D?C(0,3)|C)(L?X(0,3)|X )(I| V?I(0,3)))/g".
transformare
Pentru a converti numerele scrise cu cifre arabe în romane, se folosesc funcții speciale. De exemplu, în versiunea rusă a Microsoft Excel, există o funcție pentru aceasta ROMÂN(argument), în versiunea în limba engleză a Microsoft Excel și în orice versiune a OpenOffice.org Calc se numește această funcție ROMÂN(argument).
Funcții de conversie JavaScript var arab = ; var roman = ["I","IV","V","IX","X","XL","L","XC","C","CD","D","CM „„M”]; function arabToRoman(number) ( if(!number) return ""; var ret = ""; var i = arab.length - 1; while(number > 0) ( if(number >= arab[i]) ( ret + = roman[i]; număr -= arab[i]; ) else ( i--; ) ) return ret; ) function romanToArab(str) ( str = str.toUpperCase(); var ret = 0; var i = arab .lungime - 1;var pos = 0;while(i >= 0 && pos< str.length) { if(str.substr(pos, roman[i].length) == roman[i]) { ret += arab[i]; pos += roman[i].length; } else { i--; } } return ret; } Аналогичные функции на Си (C89): #include const int arabar = { 1, 4, 5, 9, 10, 40, 50, 90, 100, 400, 500, 900, 1000}; const char *romanar = { "I", "IV", "V", "IX", "X", "XL", "L", "XC", "C", "CD", "D", "CM", "M"}; char *arab2roman(unsigned short int arab) { static char roman; const int m = sizeof(arabar)/sizeof(int)-1, arabmax=arabar[m]; const char romanmax=romanar[m]; int i, n; if(!arab) { *roman=0; return roman; } i=0; while(arab>arabmax) ( roman = romanmax; arab -= arabmax; ) n=m; while(arab > 0) ( if(arab >= arabar[n]) ( roman = romanar[n]; if(n&1) roman = romanar[n]; arab -= arabar[n]; ) else n--; ) roman[i]=0; return roman; ) unsigned short int roman2arab(char *roman) ( const int m = sizeof(arabar)/sizeof(int)-1; unsigned short int arab; int len, n, i, pir; len=strlen(roman); arab= 0; n=m; i=0; în timp ce (n >= 0 && i< len) { pir=n&1; if(roman[i] == romanar[n] && (!pir || roman == romanar[n])) { arab += arabar[n]; i += 1+pir; } else n--; } return arab; } Программа перевода арабских цифр в римские и наоборот type str2 = string; const Rims: array of str2 = ("M","CM","D","CD","C","XC","L","XL","X","IX","V","IV","I"," "); Arab: array of integer = (1000, 900, 500, 400, 100, 90, 50, 40, 10, 9, 5, 4, 1, 0); var N, NI, I, J: integer; S: string; function Arab2Rim(N: integer) : string; var S: string; I: integer; begin S:= ""; I:=1; while N >0 începe în timp ce Arab[I]"" încep în timp ce Jantele[I] = Copiere(S, 1, Lungime(Jante[I])) nu începe S:= Copiere(S, 1+Lungime(Jante[I]) , 255); N:= N + Arab[I]end; I:=I+1capăt; Rim2Arab:= Nend; begin WriteLn("Traducere din arabă în cifre romane. 1999 B_SA"); ( Write("Introduceți un număr de convertit:"); ReadLn(N);) for NI:= 26 to 46 do WriteLn(NI," = ",Arab2Rim(NI)," back ", Rim2Arab(Arab2Rim(NI) ) ); Sfârșit. Funcția de conversie arabă în romană în funcția Pascal Arab2Roman(arab:integer):șir; var i:intger; d:întreg; arab_str:string; arab_len:integer; începe Rezultatul:= ""; arab_str:= IntToStr(arab); arab_len:= Lungime(arab_str); for i:= 0 to arab_len-1 do begin d:= StrToInt(String(arab_str)); dacă (d+1) mod 5 = 0, atunci Rezultat:= Copiere("IXCM", 1+i, 1) + Copiere("VXLCDM", i*2 + (d+1) div 5, 1) + Rezultat altfel Rezultat:= Copiere("VLD", 1+i, d div 5) + Copiere("IIIXXXCCCMMM", 1+i*3, d mod 5) + Rezultat; Sfârșit; Sfârșit;
O caracteristică distinctivă a acestui algoritm este că nu utilizează matrice (cu excepția cazului în care, desigur, șirul este considerat o matrice de caractere).
Funcția de conversie de bază arabă în romană (cel mai scurt cod) 10 INTRODUCERE „NUMĂR ARAB: „; A$ 20 PENTRU I=0 PENTRU LEN(A$)-1 30 X=VAL(MID$(A$,LEN(A$)-I,1)) 40 DACA X=4 SAU X=9 ATUNCI B$= MID$("IXCM",I+1,1)+MID$("VXLCDM",I*2+(X+1)/5,1)+B$ 50 IF X4 AND X case 1999) to roman on XPath string-join(pentru $num în (1999) return (("","M","MM","MMM")[($num idiv 1000) mod 10+1], ( "","C", "CC","CCC","CD","D","DC","DCC","DCCC","CM")[($num idiv 100) mod 10+1 ], (""," X","XX","XXX","XL","L","LX","LXX","LXXX","XC")[($num idiv 10) mod 10+1], (" ","I","II","III","IV","V","VI","VII","VIII","IX")[$num mod 10 +1]), "" ) O funcție pentru a converti un număr arab (în acest caz 1999) într-un număr roman în Perl use strict; folosiți avertismente; my $n = 1999; numerele mele = [ ["", qw(I II III IV V VI VII VIII IX) ], ["", qw(X XX XXX XL L LX LXX LXXX XC) ], ["", qw(C CC CCC CD D DC DCC DCCC CM)], ["", qw(M MM MMM)]]; my $i = 0; @resul meu = (); push @res, ($nums->[$i++][ ($n % 10, $n = int($n / 10)) ]) pentru 0 .. 3; imprimare inversă @res; Clasă pentru conversia numărului arab (de la 1 la 3999) în număr roman în clasa Java ArabRome ( private int arabBase = (1000, 500, 100, 50, 10, 5, 1); private String romeBase = ("M", "D " , "C", "L", "X", "V", "I"); public String ArabToRome(int arab) ( int rezultat = 0; int rest = 0; String resultRome = ""; for(short) i = 0; i0 && result=4 && result Clasa de extensie pentru conversia numerelor romane în numere arabe și invers, pe CSharp /// /// Clasa este destinată conversiei numerelor arabe în numere romane și invers /// / // /// Clasa conține inițial un alfabet de cifre romane capabile să definească cifre arabe de la 1 la 39999 /// Dacă doriți să extindeți intervalul, puteți defini notații suplimentare pentru cifrele romane folosind /// Romanul de bază Câmp Numere clasă publică statică Număr roman ( /// /// Numere romane de bază Numere alfabetice /// Alfabetul este construit sub forma unui dicționar. Cheia dicționarului este un număr arab (int), valoarea este /// numărul roman corespunzător (șir) t Notație romană pentru numere arabe 1*,4*,5*,9* - unde „*” reprezintă 0...N zerouri /// Când este creat, conține notația pentru numerele de la 1 la 10000 (I... ↂ) Deoarece un caracter nu poate /// să apară de mai mult de trei ori într-un număr roman, inițial este posibil să convertiți numerele de la 1 la 39999 în format roman. /// Dacă doriți să puteți lucra cu un număr mare de numere romane, atunci trebuie să adăugați în listă /// desemnări suplimentare începând de la 40000 fără să omiteți elementele 1*,4*,5*,9*. /// public static SortedList BasicRomanNumbers ( obține; set; ) static RomanNumber() ( BasicRomanNumbers = nou SortedList(17); BasicRomanNumbers.Add(1, "I"); BasicRomanNumbers.Add(4, "IV"); BasicRomanNumbers. Adăugați(5, „V”); Numere romane de bază.Adăugați(9, „IX”); Numere romane de bază.Adăugați(10, „X”); Numere romane de bază.Adăugați(40, „XL”); Roman de bază Numbers.Add(50, "L "); BaseRomanNumbers.Add(90, "XC"); BaseRomanNumbers.Add(100, "C"); BaseRomanNumbers.Add(400, "CD"); BaseRomanNumbers.Add(500, „D”); BaseRomanNumbers.Add (900, „CM”); Basic Roman Numbers.Add(1000, „M”); Basic Roman Numbers.Add(4000, „Mↁ”); Basic Roman Numbers.Add(5000, „ↁ”); Numerele romane de bază.Add(9000, „Mↂ” ); BasicRomanNumbers.Add(10000, „ↂ”); ) /// /// Calculează numărul roman maxim posibil pentru alfabetul cu cifre romane curent. /// /// Număr roman maxim posibil public static uint MaximumRomanNumber() ( int lastNumber = BasicRomanNumbers.Keys.Last(); int numberWithoutZeros = int.Parse(lastNumber.ToString().Replace("0","\0) ")); int tentativ=0; comutare(NumberNoZeros) (cazul 1: tentativ = ultimulNumăr * 4 - 1; pauză; cazul 4: cazul 9: tentativ = ultimulNumăr; pauză; cazul 5: tentativ = ultimulNumăr + ultimulNumăr / 5 * 3; break; implicit: break; ) return uint.Parse(pre.ToString().Replace("0", "9"));; ) /// /// Convertește întregul în numeral roman /// / / / Numărul arab de convertit în notație romană /// Generat când un număr egal cu „0” /// sau un număr mai mare decât numărul maxim roman este trecut ca parametru. /// Un șir reprezentând un număr roman șir public static ArabicRoman(acest număr intArab) ( StringBuilder numberRoman = new StringBuilder(); //Excludeți semnul „-” din numărul arab și faceți din acesta primul caracter al numărului roman dacă (număr arab< 0) { числоРимское.Append("-"); числоАраб = -числоАраб; } if (числоАраб == 0) throw new ArgumentOutOfRangeException("числоАраб", числоАраб, "Недопустимое значение аргумента: римские числа не могут быть равными\"0\""); else if (числоАраб >MaxRomanNumber()) throw new ArgumentOutOfRangeException("NumberArab", NumberArab, string.Format("Valoare argument nevalidă: Nu se poate seta un număr roman mai mare decât (0)", MaxRomanNumber())); //Descompuneți numărul arab în numerele sale constitutive romane și combinați-le într-un șir var requiredBasicRomanNumbers = from to in BasicRomanNumbers.Keys unde k = 1) ( numberArab -= current; numberRoman.Append(BasicRomanNumbers[current]); ) ) return numberRoman .ToString(); ) /// /// Convertește un număr roman în arabă /// /// Un număr roman care urmează să fie convertit într-un int /// Generat când un număr non-roman este transmis ca parametru /// Un număr întreg care reprezintă Notație arabă număr roman public static int roman în arabic (acest șir număr roman) ( int număr arab = 0; sbyte negativ = 1; șir roman = număr roman.Trim(); if (roman == "-") ( negativ = -1; roman = roman. Substring(1); ) StringBuilder RomanNumber șablon = new StringBuilder(); foreach (int to în BaseRomanNumbers.Keys) ( int index = BaseRomanNumbers.Keys.IndexOf(to); string quantifier="?" ; if (index == 0 | |(index % 4) == 0) quantifier="(0,3)";RomanNumber template.Insert(0, string.Format("(?((1))(2) )?", to.ToString() , BaseRomanNumbers[k], quantifier)); ) //Ignorați majuscule + potrivirea trebuie să înceapă la începutul șirului patternRomanNumbers.Insert(0, "(?i)^"); / /Potrivirea trebuie găsită la sfârșitul modelului de șirP ImskogoNumber.Append("$"); // Verificare simplificată. Nu verifică erori precum IVII dacă (!Regex.IsMatch(Roman, RomanNumber template.ToString())) throw New FormatException(string.Format("Text \"(0)\" nu este un număr roman",Roman număr)); Număr de potrivire = Regex.Match(Roman, RomanNumber template.ToString()); foreach (int to in BaseRomanNumbers.Keys) ( numberArab += number.Groups[to.ToString()].Length / BaseRomanNumbers[to].Length * to; ) return numberArab * negativ; ) )
Note
- Standard Unicode, 15.3
- 1 2 Formulare de numere Unicode
- Perry, David J. Propunere de a adăuga caractere romane antice suplimentare la UCS.
- Pentru primele două rânduri
- „Știință și viață” N12 1986 p.95, V. Ptitsyn, Moscova
- Autor - Kuznetsov Evgeny A.
- Autor - Evgeny A. Kuznetsov, 1992
Vezi si
- Simboluri ale unităților monetare și de greutate antice romane
- Numerele
- Sisteme numerice
Ce înseamnă literele romane L C D M?
Acestea sunt numere! - în sistemul de numerotare romană, bazat pe utilizarea literelor latine, a devenit unul dintre motivele întemeiate pentru a-l înlocui cu un sistem de numere zecimal mai convenabil în acest sens
În ordine crescătoare, aceste litere reprezintă următoarele numere întregi: I - unu, V - cinci, X - zece, L - cincizeci, C - o sută, D - cinci sute, M - o mie.
numere romane
Sistemul de numerotare romană folosind litere este comun în Europa de două mii de ani. Abia în Evul Mediu târziu a fost înlocuit cu un sistem zecimal mai convenabil de numere, împrumutat de la arabi. Dar, până acum, cifrele romane denotă date pe monumente, ora pe ceasuri și (în tradiția tipografică anglo-americană) pagini de prefețe de cărți. În plus, în rusă, se obișnuiește să se desemneze numerele ordinale cu cifre romane.
Pentru desemnarea numerelor s-au folosit 7 litere ale alfabetului latin: I = 1, V = 5, X = 10, L = 50, C = 100, D = 500, M = 1000. Numerele intermediare s-au format prin adăugarea mai multor litere la dreapta sau stânga. Mai întâi s-au scris mii și sute, apoi zeci și unu. Astfel, numărul 24 a fost înfățișat ca XXIV. Linia orizontală de deasupra simbolului însemna înmulțirea cu o mie.
Numerele naturale se scriu prin repetarea acestor cifre. În același timp, dacă un număr mare este în fața unuia mai mic, atunci se adună (principiul adunării), dacă cel mai mic este în fața celui mai mare, atunci cel mai mic se scade din cel mai mare. (principiul scăderii). Ultima regulă se aplică doar pentru a evita repetarea de patru ori a aceleiași figuri. De exemplu, I, X, C sunt plasate respectiv înainte de X, C, M pentru a desemna 9, 90, 900 sau înainte de V, L, D pentru a desemna 4, 40, 400. De exemplu, VI \u003d 5 + 1 \u003d 6, IV \u003d 5 - 1 = 4 (în loc de IIII). XIX = 10 + 10 - 1 = 19 (în loc de XVIIII), XL = 50 - 10 = 40 (în loc de XXXX), XXXIII = 10 + 10 + 10 + 1 + 1 + 1 = 33 etc.
Efectuarea de operații aritmetice pe numere cu mai multe cifre în această notație este foarte incomod. Sistemul cifrelor romane nu este utilizat în prezent, cu excepția, în unele cazuri, a desemnării secolelor (secolul al XV-lea etc.), anilor d.Hr. e. (MCMLXXVII etc.) și luni când se indică datele (de exemplu, 1.V.1975), numerele ordinale și uneori derivate de ordine mici, mai mari de trei: yIV, yV etc.
Cum se scriu cifrele romane? -//elhow.ru/ucheba/matematika/kak-pishutsja-rimskie-cifry
.437000.ru/info/rim.php
__________________________
Alfabetul latin a devenit izolat în jurul secolului al VII-lea î.Hr. e. și includea inițial doar 21 de litere: A, B, C, D, E, F, Z, H, I, K, L, M, N, O, P, Q, R, S, T, V și X.
://ladyretryka.ru/?p=10980
Ce număr reprezintă cifra romană M?
Ce număr reprezintă cifra romană M?
Alsu - w
Am răspuns deja la o întrebare similară (vezi aici). Pe scurt, aș dori să răspund la aceasta.
repet putin.
Cifrele romane, și sunt doar 7 dintre ele, sunt ușor de reținut. Iată literele acestor numere în ordine descrescătoare: M, D, C, L, X, V, I:
După cum vedem, Cifra romană, care este litera mare M, reprezintă numărul 1000.
Acum dăm exemple de numere care sunt scrise cu cifre romane:
Acum sa scriem:
Numărul de anul acesta 2015 , de exemplu, ar fi scris astfel: ММХV
1941 - MSMXXXXXXI
1945 - MCMXXXXXXV
2987 - MMCMLXXXVII
2001 - MMI
Zolotynka
Dacă numărul roman M este singur, de la sine, atunci valoarea sa va fi 1000.
Dar: dacă M este precedat de un număr mai mic, ca, de exemplu, în acest exemplu, CM, atunci aceasta va însemna: 1000-100=900.
Dacă C vine după M, atunci trebuie să adăugați, prin urmare valoarea este 1000 + 100 = 1010.
C, după cum ne amintim, înseamnă o sută.
Reguli principale: nu puteți pune mai mult de un număr mai mic înaintea unui număr mai mare pentru scădere. Deci, IIV nu înseamnă 3.
În plus, zeci, sute și mii ar trebui separate ca elemente separate (un număr mai mic nu poate diferi de unul mai mare de mai mult de 10 ori). Aceasta înseamnă că 99 este XCIX, 90 + 9, dar nu poate fi scris niciodată ca IC. De asemenea, 999 nu poate fi un IM, iar 1999 nu poate fi un MIM și așa mai departe.
Natashau
Suntem obișnuiți să folosim cifre arabe. Dar cele romane încă există și sunt utilizate pe scară largă, care au deja aproape două mii și jumătate de ani. Cifrele romane sunt reprezentate ca litere. Există doar șapte astfel de litere: I, V, X, L, C, D, M. Locația lor specifică indică numărul. Dacă aceste numere sunt situate separat de restul, atunci ele au următoarele valori: I - 1, V - 5, X - 10, L - 50, C - 100, D - 500, M - 1000.
Poiana frumoasa
Cifra romană M (alias litera) înseamnă număr 1000 .
În calculul roman, foarte puține litere sunt folosite pentru a scrie numere, sunt doar 7. Dar pentru a scrie numere mari cu litere romane, trebuie să adunați și să scădeți un număr dintr-un altul, ceea ce nu este atât de ușor fără practică.
În arabă, 10 caractere sunt folosite pentru a desemna numere și pot scrie orice număr fără operații matematice.
Litera latină M în cifre romane înseamnă „mii”, din latinescul mille..
Și acum acest prefix este folosit pe scară largă, de exemplu, ppm - literalmente „de la o mie”, iar cuvântul „milion” a venit și de acolo, tradus literal „o mie uriașă”, „o mie” și este interesant cum a apărut acest cuvânt, dar asta e altă poveste...
Atanasie44
Numerele romane sunt acum rareori folosite nicăieri; au fost înlocuite cu altele arabe mai convenabile. Practic, sunt folosite pentru a denumi secole, de exemplu, secolul al V-lea, secolul al XII-lea și chiar în cazuri rare.
Litera M era cuvântul roman pentru o mie. Două litere adiacente MM înseamnă două mii, MMM trei mii și apoi chiar mai dificil și distractiv.
Moreljuba
Cifra romană M, desigur, ne este familiară ca literă, dar în sistemul numeric roman este încă un număr. Deci înseamnă exact o mie. și provine dintr-o cifră romană dintr-un astfel de cuvânt latin ca mille.
Ludmila 1986
Vechii romani foloseau literele alfabetului latin pentru a reprezenta numerele. Cifrele romane au apărut în jurul anului 500 î.Hr.
În multe limbi, cifrele romane sunt folosite pentru a înregistra numărul secolului (mileniului), a marca cadranele, în analiza matematică, a evenimentelor importante.
bâzâit albină
Roman L, C, D, M nu sunt la fel de comune ca restul, M înseamnă numărul 1000, MM înseamnă 2000 și MMM înseamnă 3000.
De exemplu, anul 2017 va fi notat cu cifre romane MMXVII, 2018 va fi cu cifre romane MMXVIII.
21 | XXI |
al 20-lea | XX |
al 19-lea | XIX |
al 18-lea | XVIII |
al 17-lea | XVII |
al 16-lea | XVI |
al 15-lea | XV |
al 14-lea | XIV |
al 13-lea | XIII |
al 12-lea | XII |
al 11-lea | XI |
al 10-lea | X |
al 9-lea | IX |
al 8-lea | VIII |
al 7-lea | VII |
al 6-lea | VI |
al 5-lea | V |
al 4-lea | IV |
al 3-lea | III |
al 2-lea | II |
1 | eu |
Cifrele romane, inventate cu peste 2500 de ani în urmă, au fost folosite de europeni timp de două milenii, apoi au fost înlocuite cu cifre arabe. Acest lucru s-a întâmplat deoarece cifrele romane sunt destul de greu de scris, iar orice operații aritmetice în sistemul roman sunt mult mai dificil de efectuat decât în sistemul de cifre arabe. În ciuda faptului că astăzi sistemul roman nu este des folosit, asta nu înseamnă deloc că a devenit irelevant. În cele mai multe cazuri, secolele sunt notate cu cifre romane, dar se obișnuiește să scrieți anii sau datele exacte cu cifre arabe.
Cifrele romane sunt, de asemenea, folosite la scrierea numerelor de serie ale monarhilor, volumelor enciclopedice și valența diferitelor elemente chimice. Cadranele ceasurilor de mână folosesc adesea cifre romane.
Cifrele romane sunt anumite semne cu care scriu zecimale și jumătățile lor. Pentru aceasta sunt folosite doar șapte majuscule ale alfabetului latin. Numărul 1 corespunde cifrei romane I, 5 - V, 10 - X, 50 - L, 100 - C, 500 - D, 1000 - M. Când se notează numere naturale, aceste numere se repetă. Deci 2 poate fi scris folosind de două ori I, adică 2 - II, 3 - trei litere I, adică 3 - III. Dacă numărul mai mic vine înaintea celui mai mare, atunci se folosește principiul scăderii (numărul mai mic se scade din cel mai mare). Deci, numărul 4 este reprezentat ca IV (adică 5-1).
În cazul în care un număr mare este înaintea unui număr mai mic, acestea sunt adăugate, de exemplu, 6 este scris în sistemul roman ca VI (adică 5 + 1).
Dacă sunteți obișnuit să scrieți numerele cu cifre arabe, atunci pot apărea unele dificultăți atunci când trebuie să scrieți secole în cifre romane, orice număr sau dată. Este foarte ușor și foarte rapid să convertiți orice număr din sistemul arab în sistemul roman și invers, folosind un convertor convenabil de pe site-ul nostru.
Pe tastatura computerului, accesați limba engleza pentru a scrie cu ușurință orice număr în cifre romane.
Aparent, vechii romani preferau liniile drepte, așa că toate numerele lor sunt drepte și stricte. Cu toate acestea, cifrele romane nu sunt altceva decât o reprezentare simplificată a degetelor unei mâini umane. Numerele unu până la patru seamănă cu degetele întinse, numărul cinci poate fi comparat cu o palmă deschisă, unde degetul mare iese în afară. Și numărul zece seamănă cu două brațe încrucișate. În țările europene, atunci când numărați, se obișnuiește să vă îndoiți degetele, dar în Rusia, dimpotrivă, să vă îndoiți.
Nu folosim des cifrele romane. Și se pare că toată lumea știe că în mod tradițional notăm secolele cu cifre romane, iar anii și datele exacte cu cifre arabe. Zilele trecute a trebuit să explic studenților arabi :-)) și chinezi ce, de exemplu, XCIV sau CCLXXVIII :-)). Am învățat o mulțime de lucruri interesante pentru mine când am căutat material. Îmi împărtășesc :-)) Poate că altcineva va avea nevoie :-))
numere romane
Cifrele romane sunt caractere speciale folosite pentru a scrie zecimale și jumătățile acestora. Pentru a desemna numere, se folosesc 7 litere din alfabetul latin:
Număr cu cifre romane
eu 1
V 5
X 10
L 50
C 100
D 500
M 1000
Numerele naturale se scriu prin repetarea acestor 7 cifre romane.
Regula mnemonică pentru memorarea simbolurilor alfabetice ale cifrelor romane în ordine descrescătoare (autorul regulii este A. Kasperovich):
M s
D noi mancam
C sfat
L ish
X bine
V bine manierat
eu indivizii
Reguli pentru scrierea numerelor cu cifre romane:
Dacă un număr mai mare vine înaintea unui număr mai mic, atunci se adună (principiul adunării),
- daca numarul mai mic vine inaintea celui mai mare, atunci cel mai mic se scade din cel mai mare (principiul scaderii).
A doua regulă se aplică pentru a evita repetarea aceluiași număr de patru ori. Deci, cifrele romane I, X, C sunt plasate respectiv înainte de X, C, M pentru a desemna 9, 90, 900 sau înainte de V, L, D pentru a desemna 4, 40, 400.
VI \u003d 5 + 1 \u003d 6,
IV = 5 - 1 = 4 (în loc de IIII),
XIX \u003d 10 + 10 - 1 \u003d 19 (în loc de XVIIII),
XL = 50 - 10 = 40 (în loc de XXXX),
XXXIII = 10 + 10 + 10 + 1 + 1 + 1 = 33 etc.
Trebuie remarcat faptul că chiar și efectuarea de operații aritmetice pe numere cu mai multe cifre în această notație este foarte incomod. Probabil, complexitatea calculelor din sistemul de numerotare romană, bazată pe folosirea literelor latine, a devenit unul dintre motivele bune pentru înlocuirea acestuia cu un sistem de numere zecimal mai convenabil în acest sens.
Sistemul de numerotare romană, care a dominat Europa timp de două mii de ani, își găsește acum o utilizare foarte limitată. Cifrele romane sunt folosite pentru a desemna secolele (sec. XII), lunile când se indică data pe monumente (21.V.1987), ora pe cadranele ceasurilor, numerele ordinale, derivate de ordine mici.
Informatii suplimentare:
Pentru a scrie corect numere mari în cifre romane, trebuie să notați mai întâi numărul de mii, apoi sutele, apoi zeci și, în final, unii.
Exemplu : numărul 1988. O mie M, nouă sute CM, optzeci LXXX, opt VIII. Să le scriem împreună: MCMLXXXVIII.
Destul de des, pentru a evidenția numerele din text, peste ele se trasa o linie: LXIV. Uneori, linia a fost trasă atât deasupra, cât și dedesubt: XXXII - în special, așa se obișnuiește să se evidențieze cifrele romane în textul scris de mână rusesc (aceasta nu este folosită în compunerea tipografică din cauza complexității tehnice). Pentru alți autori, linia de suprafață ar putea indica o creștere a valorii figurii de 1000 de ori: VM = 6000.
Ceasuri Tissot cu ortografia tradițională „IIII”
Există "mod prescurtat" a scrie numere mari ca 1999. It nu recomandat, dar uneori folosit pentru simplificare. Diferența este că, pentru a reduce o cifră, orice cifră poate fi scrisă în stânga acesteia:
999. Mie (M), scădeți 1 (I), obțineți 999 (IM) în loc de CMXCIX. Consecință: 1999 - MIM în loc de MCMXCIX
95. O sută (C), scădeți 5 (V), obțineți 95 (VC) în loc de XCV
1950: O mie (M), scade 50 (L), obținem 950 (LM). Consecință: 1950 - MLM în loc de MCML
Această metodă este utilizată pe scară largă de companiile de film occidentale atunci când scrieți anul lansării filmului în credite.
Abia în secolul al XIX-lea numărul „patru” a fost notat peste tot ca „IV”; înainte de aceasta, înregistrarea „IIII” a fost folosită cel mai des. Cu toate acestea, intrarea „IV” poate fi găsită deja în documentele manuscrisului „Forme of Cury” datând din 1390. Majoritatea cadranelor ceasurilor folosesc în mod tradițional „IIII” în loc de „IV”, în principal din motive estetice: această ortografie oferă simetrie vizuală cu numerele „VIII” de pe partea opusă, iar „IV” inversat este mai greu de citit decât „IIII” .
O altă versiune.
Pentru a scrie numere întregi în numerație romană, se folosesc șapte numere de bază:
I = 1
V=5
X=10
L=50
C=100
D=500
M=1000
Cu toate acestea, unele numere (I, X, C, M) pot repetă, dar nu mai mult de trei ori, astfel, ele pot fi folosite pentru a scrie orice număr întreg nu mai mare de 3999 (MMMCMXCIX). La scrierea numerelor în sistemul numeric roman, cifra mai mică poate fi în dreapta celei mai mari; in acest caz i se adauga. De exemplu, numărul 283 în roman se scrie astfel:
adică 200+50+30+3=283. Aici, numărul care reprezintă o sută se repetă de două ori, iar numerele care reprezintă zece și, respectiv, unu, se repetă de trei ori.
Numărul mai mic poate fi scris și în stânga celui mai mare, caz în care ar trebui să fie scăzut din cel mai mare. În acest caz, repetările unei cifre mai mici nu sunt permise. Să scriem numărul 94 în romană:
XCIV=100-10+5-1=94.
Acest așa-zis regula de scadere: a apărut în epoca antichității târzii (înainte de aceasta, romanii scriau numărul 4 ca IIII, iar numărul 40 ca XXXX). Există șase moduri de a folosi „regula de scădere”:
IV = 4
IX = 9
XL=40
XC = 90
CD=400
CM=900
De remarcat că alte modalități de „scădere” nu sunt permise; astfel, numărul 99 ar trebui scris ca XCIX, dar nu ca IC. Cu toate acestea, în zilele noastre, în unele cazuri, se folosește și o notație simplificată a numerelor romane: de exemplu, în Microsoft Excel, la conversia cifrelor arabe în romane folosind funcția „ROMAN ()”, puteți utiliza mai multe tipuri de reprezentare a numerelor, de la clasic la foarte simplificat (de exemplu, numărul 499 poate fi scris ca CDXCIX, LDVLIV, XDIX, VDIV sau ID).
Din aceasta rezultă clar că, pentru a evita o repetare de 4 ori, numărul maxim posibil aici este 3999, i.e. MMMIM
Numerele romane pot fi folosite și pentru a scrie numere mari. Pentru a face acest lucru, deasupra numerelor care reprezintă mii este plasată o linie, iar deasupra numerelor care reprezintă milioane este plasată o linie dublă. De exemplu, numărul 123123 ar arăta astfel:
_____
CXXIIICXXIII
Și un milion este ca Ī, dar nu cu unul, ci cu două trăsături la cap.
Exemple de scriere a numerelor cu cifre romane și arabe
Cifre romane Cifre arabe
I 1 unus
II 2 duo
III 3 tres
IV 4 cadran
V 5 quinque
VI 6 sex
VII 7 septem
VIII 8 oct
IX 9 noiembrie
X 10 dec
XI 11 undecim
XII 12 duodecim
XIII 13 comert
XIV 14 quattuordecim
XV 15 quindecim
XVI 16 sedecim
XVII 17 septendecim
XVIII 18 duodeviginti
XIX 19 undeviginti
XX 20 viginti
XXI 21 unus et viginti
XXX 30 triginta
XL 40 quadraginta
L 50 quinquaginta
LX 60 sexaginta
LXX 70 septuaginta
LXXX 80 octoginta
XC90 nonaginta
C 100 centum
CC 200 ducenti
CCC 300 trecenti
CD 400 quadringenti
D 500 quinenti
DC 600 sescenti
DCC 700 septingenti
DCCC 800 Octingenti
CM 900 nongenti
M 1000 mile
MM 2000 duo milia
MMM 3000
MMMIM (cel mai mare număr) 3999
Exemple suplimentare:
XXXI 31
XLVI 46
XXIX 99
DLXXXIII 583
DCCCLXXXVIII 888
MDCLXVIII 1668
MCMLXXXIX 1989
MMIX 2009
MMXI 2011