Главная · Эндокринология · Что обозначают римские цифры. Как устроены римские цифры

Что обозначают римские цифры. Как устроены римские цифры

Сегодня в России римские цифры нужны, в первую очередь, для записи номера века или тысячелетия. Римские цифры удобно ставить рядом с арабскими – если написать век римскими цифрами, а затем год – арабскими, то в глазах не будет рябить от обилия одинаковых знаков. Римские цифры имеют некоторый оттенок архаичности. С их помощью также традиционно обозначают порядковый номер монарха (Петр I), номер тома многотомного издания, иногда – главы книги. Также римские цифры используются в циферблатах часов под старину. Важные числа, такие, как год олимпиады или номер научного закона, могут также фиксироваться при помощи римских цифр: II мировая, V постулат Евклида.

В разных странах римские цифры употребляются немножко по-разному: в СССР было принято указывать с помощью них месяц года (1.XI.65). На западе римскими цифрами часто пишут номер года в титрах фильмов или на фасадах зданий.

В части Европы, в особенности в Литве, нередко можно встретить обозначение римскими цифрами дней недели (I – понедельник и так далее). В Голландии римскими цифрами иногда обозначают этажи. А в Италии ими отмечают 100-метровые отрезки пути, отмечая, в то же время, арабскими цифрами каждый километр.

В России при письме рукой принято подчеркивать римские числа снизу и сверху одновременно. Однако часто в других странах подчеркивание сверху значило увеличение регистра числа в 1000 раз (или 10000 раз при двойном подчеркивании).

Существует распространенное заблуждение о том, что современные западные размеры одежды имеют некую связь с римскими цифрами. На самом деле обозначения XXL, S, M, L и т.п. не имеют никакой связи с ними: это аббревиатуры английских слов eXtra (очень), Small (маленький), Large (большой).

Для обозначения цифр в латинском языке приняты комбинации следующих семи знаков: I (1), V (5), X (10), L (50), С (100), D (500), М (1000).

Для запоминания буквенных обозначений цифр в порядке убывания придумано мнемоническое правило:

М ы D арим С очные L имоны, Х ватит V сем I х (соответственно M, D, C, L, X, V, I ).

Если знак, обозначающий меньшее число, стоит справа от знака, обозначающего большее число, то меньшее число следует прибавлять к большему, если слева, то вычитать, а именно:

VI - 6, т.е. 5 + 1
IV - 4, т.е. 5 - 1
XI - 11, т.е. 10 + 1
IX - 9, т.е. 10 - 1
LX - 60, т.е. 50 + 10
XL - 40, т.е. 50 - 10
СХ - 110, т.е. 100 + 10
ХС - 90, т.е. 100-10
MDCCCXII - 1812, т.е. 1000 + 500 + 100 + 100 + 100 + 10 + 1 + 1.

Возможно различное обозначение одного и того же числа. Например, число 80 можно обозначить как LXXX (50 + 10 + 10 + 10) и как ХХС (100 - 20).

Для записи чисел римскими цифрами необходимо сначала записать число тысяч, затем сотен, затем десятков и, наконец, единиц.

I (1) - unus (унус)
II (2) - duo (дуо)
III (3) - tres (трэс)
IV (4) - quattuor (кваттуор)
V (5) - quinque (квинквэ)
VI (6) - sex (сэкс)
VII (7) - septera (сэптэм)
VIII (8) - octo (окто)
IX (9) - novem (новэм)
X (10) - decem (дэцем)
XI (11) - undecim (ундецим)
XII (12) - duodecim (дуодэцим)
ХШ (13) - tredecim (трэдэцим)
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 или viginti unus
XXII (22) - duo et viginti или viginti duo и т.д.
XXVIII (28) - duodetriginta (дуодэтригинта)
XXIX (29) - undetriginta (ундэтригинта)
XXX (30) : triginta (тригинта)
XL (40) - quadraginta (квадрагинта)
L (5O) - quinquaginta (квинквагинта)
LX (60) - sexaginta (сэксагинта)
LXX (70) - septuaginta (сзлтуагинта)
LXXX180) - octoginta (октогинта)
КС (90) - nonaginta (нонагинта)
C (100) centum (центум)
CC (200) - ducenti (дуценти)
CCC (300) - trecenti (трэценти)
CD (400) - quadrigenti (квадригэнти)
D (500) - quingenti (квингэнти)
DC (600) - sescenti(сэсценти) или sexonti (сэксцонти)
DCC (700) - septigenti (сэптигэнти)
DCCC (800) - octingenti (октингэнти)
CV (DCCC) (900) - nongenti (нонгэнти)
M (1000) - mille (милле)
ММ (2000) - duo milia (дуо милиа)
V (5000) - quinque milla (квинквэ милиа)
X (10 000) - decem milia (дэцем милиа)
XX (20000) - viginti milia (вигинти милиа)
C (100000) - centum milia (центум милиа)
XI (1000000) - decies centena milia (дэциэс центэна милиа).

Если вдруг любознательный человек спросит, почему для обозначения цифр 50, 100, 500 и 1000 были выбраны латинские буквы V, L, С, D, М, то сразу скажем, что это вовсе не латинские буквы, а совсем иные знаки.

Дело в том, что основой для латинского алфавита послужил алфавит западногреческий. Именно к нему восходят три знака L, С и М. Здесь они обозначали придыхательные звуки, которых не было в латинском языке. Когда оформлялся латинский алфавит, именно они оказались лишними. Их и приспособили для обозначения чисел в латинской графике. Позднее они по написанию совпали с латинскими буквами. Так, знак С (100) стал похож на первую букву латинского слова centum (сто), а М (1000) - на первую букву слова mille (тысяча). Что же касается знака D (500), то он представлял собой половину знака Ф (1000), а потом уж стал похож на латинскую букву. Знак V (5) являлся всего навсего верхней половиной знака X (10).

Вот и вся история с этими римскими цифрами.

Задание для закрепления пройденного материала

Обратите внимание на обозначение трех дат. Здесь зашифрованы римскими цифрами годы рождения Александра Пушкина, Александра Герцена и Александра Блока, Решите сами, какому Александру принадлежит какая дата.

MDCCCXH
MDCCXCIX
MDCCCLXXX

Позиционные , , , , , , , , , , Нега-позиционная Симметричная Смешанные системы Фибоначчиева Непозиционные Единичная (унарная)

Римские цифры

1 I лат. unus, unum
5 V лат. quinque
10 X лат. decem
50 L лат. quinquaginta
100 C лат. centum
500 D лат. quingenti
1000 M лат. mille

В русском языке для закрепления в памяти буквенных обозначений цифр в порядке убывания существуют мнемонические правила:

М ы D арим С очные L имоны, Х ватит V сем I х.

M ы D аем C оветы L ишь X орошо V оспитанным I ндивидуумам

Соответственно M, D, C, L, X, V, I

Число Обозначение
1 I
2 II
3 III
4 IV, до XIX века - IIII
5 V
6 VI
7 VII
8 VIII (иногда - IIX)
9 IX (иногда - 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 V M; ↁↀ; IƆƆCIƆ
7 000 V MM; ↁↀↀ; IƆƆCIƆCIƆ
8 000 V MMM; ↁↀↀↀ; 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ƆƆIƆƆƆ
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 ; C I ; CCCIƆƆƆCCCCIƆƆƆƆ
1 000 000 M ; I ; CCCCIƆƆƆƆ

Для правильной записи больших чисел римскими цифрами необходимо сначала записать число тысяч, затем сотен, затем десятков и, наконец, единиц.

При этом некоторые из цифр (I, X, C, M) могут повторяться, но не более трёх раз подряд ; таким образом, с их помощью можно записать любое целое число не более 3999 (MMMCMXCIX). В ранние периоды существовали знаки для обозначения бо́льших цифр - 5000, 10 000, 50 000 и 100 000 (тогда максимальное число по упомянутому правилу равно 399 999). При записи чисел в римской системе счисления меньшая цифра может стоять справа от большей; в этом случае она прибавляется к ней. Например, число 283 по-римски записывается как CCLXXXIII, то есть 100+100+50+30+3=283. Здесь цифра, изображающая сотню, повторена два раза, а цифры, изображающие соответственно десяток и единицу, повторены по три раза.

Пример: число 1988. Одна тысяча M, девять сотен CM, восемь десятков LXXX, восемь единиц VIII. Запишем их вместе: MCMLXXXVIII.

Довольно часто, чтобы выделить числа в тексте, над ними рисовали черту: LXIV . Иногда черту рисовали и сверху, и снизу: XXXII - в частности, так принято выделять римские цифры в русском рукописном тексте (в типографском наборе это не используют из-за технической сложности). У других авторов черта сверху могла обозначать увеличение значения цифры в 1000 раз: V = 5000.

Повсеместно записывать число «четыре» как «IV» стали только в XIX веке , до этого наиболее часто употреблялась запись «IIII». Однако запись «IV» можно встретить уже в документах манускрипта «Forme of Cury», датируемых 1390 годом . На циферблатах часов в большинстве случаев традиционно используется «IIII» вместо «IV», главным образом, по эстетическим соображениям: такое написание обеспечивает визуальную симметрию с цифрами «VIII» на противоположной стороне, а перевёрнутую «IV» прочесть труднее, чем «IIII». Существует и версия, что IV на циферблате не писалось потому, что IV - первые буквы имени бога Юпитера (IVPITER).

Меньшая цифра может быть записана и слева от большей, тогда её следует вычесть из большей. При этом вычитаться могут только цифры, обозначающие 1 или степени 10, а в качестве уменьшаемого выступать только ближайшие в числовом ряду к вычитаемой две цифры (то есть вычитаемое, умноженное на 5 или 10). Повторения меньшей цифры не допускаются. Таким образом, существует только шесть вариантов использования «правила вычитания»:

  • IV = 4
  • IX = 9
  • XL = 40
  • XC = 90
  • CD = 400
  • CM = 900

Например, число 94 будет XCIV = 100 − 10 + 5 − 1 = 94 - так называемое «правило вычитания» (появилось в эпоху поздней античности, а до этого римляне писали число 4 как IIII, а число 40 - как XXXX).

Необходимо отметить, что другие способы «вычитания» недопустимы; так, число 99 должно быть записано как XCIX, но не как IC. Однако, в наши дни в некоторых случаях используется и упрощенная запись римских чисел: например, в программе Microsoft Excel при преобразовании арабских цифр в римские при помощи функции «РИМСКОЕ()» можно использовать несколько видов представления чисел, от классического до сильно упрощенного (так, число 499 может быть записано как CDXCIX, LDVLIV, XDIX, VDIV или ID). Упрощение состоит в том, что для уменьшения какой-либо цифры слева от неё может писаться любая другая цифра:

  • 999. Тысяча (M), вычтем 1 (I), получим 999 (IM) вместо CMXCIX. Следствие: 1999 - MIM вместо MCMXCIX
  • 95. Сто (C), вычтем 5 (V), получим 95 (VC) вместо XCV
  • 1950: Тысяча (M), вычтем 50 (L), получим 950 (LM). Следствие: 1950 - MLM вместо MCML

С помощью римских цифр можно записывать и большие числа. Для этого над теми цифрами, которые обозначают тысячи, ставится черта, а над цифрами, которые обозначают миллионы, - двойная черта. Например, число 123123 будет выглядеть так:

CXXIII CXXIII

А миллион как I , но только не с одной, а с двумя чертами во главе: I

Применение

Регулярные выражения

Регулярное выражение для проверки римских цифр - ^(M{0,3})(D?C{0,3}|C)(L?X{0,3}|X)(V?I{0,3}|I)$ В языке Perl для поиска римских цифр в строке можно использовать регулярное выражение 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 .

Преобразование

Для преобразования чисел, записанных арабскими цифрами, в римские используются специальные функции. Например, в русской версии Microsoft Excel для этого существует функция РИМСКОЕ (аргумент), в английской версии Microsoft Excel и в любой версии OpenOffice.org Calc эта функция называется ROMAN (аргумент).

Функции преобразования на 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]; number -= arab[i]; } else { i--; } } return ret; } function romanToArab(str) { str = str.toUpperCase(); var ret = 0; var i = arab.length - 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; while(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 do begin while Arab[I]<=N do begin S:= S + Rims[I]; N:= N - Arab[I] end; I:=I+1 end; Arab2Rim:= S end; function Rim2Arab (S:string) : integer; var I, N: integer; begin I:=1; N:= 0; while S<>"" do begin while Rims[I] = Copy(S, 1, Length(Rims[I])) do begin S:= Copy(S, 1+Length(Rims[I]), 255); N:= N + Arab[I] end; I:=I+1 end; Rim2Arab:= N end; begin WriteLn("Перевод из арабских цифр в римские. 1999 B_SA"); { Write("Введите число для преобразования:"); ReadLn(N);} for NI:= 26 to 46 do WriteLn(NI," = ",Arab2Rim(NI)," обратно ", Rim2Arab(Arab2Rim(NI))); end.

function Arab2Roman(arab:integer):string; var i:integer; d:integer; arab_str:string; arab_len:integer; begin Result:= ""; arab_str:= IntToStr(arab); arab_len:= Length(arab_str); for i:= 0 to arab_len-1 do begin d:= StrToInt(String(arab_str)); if (d+1) mod 5 = 0 then Result:= Copy("IXCM", 1+i, 1) + Copy("VXLCDM", i*2 + (d+1) div 5, 1) + Result else Result:= Copy("VLD", 1+i, d div 5) + Copy("IIIXXXCCCMMM", 1+i*3, (d mod 5)/2) + Result; end; end;

Отличительной особенностью данного алгоритма является то, что в нём не используются массивы (если, конечно, не считать строку массивом символов).

10 INPUT "АРАБСКОЕ ЧИСЛО: "; А$ 20 FOR I=0 TO LEN(A$)-1 30 X=VAL(MID$(A$,LEN(A$)-I,1)) 40 IF X=4 OR X=9 THEN B$=MID$("IXCM",I+1,1)+MID$("VXLCDM",I*2+(X+1)/5,1)+B$ 50 IF X<4 THEN B$=MID$("IIIXXXCCCMMM",1+I*3,X)+B$ ELSE IF X>4 AND X<9 THEN B$=MID$("VLD",I+1,1)+MID$("IIIXXXCCCMMM",1+I*3,X-5)+B$ 60 NEXT I 70 PRINT "РИМСКОЕ ЧИСЛО: "; B$

string-join(for $num in (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]), "")

use strict; use warnings; my $n = 1999; my $nums = [ ["", 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; my @res = (); push @res, ($nums->[$i++][ ($n % 10, $n = int($n / 10)) ]) for 0 .. 3; print reverse @res;

import java.util.*; public class IntegerConverter { public static String intToRoman(int number) { if (number >= 4000 || number <= 0) return null; StringBuilder result = new StringBuilder(); Iterator iterator = units.descendingKeySet().iterator(); while (iterator.hasNext()) { Integer key = iterator.next(); while (number >= key) { number -= key; result.append(units.get(key)); } } return result.toString(); } private static final NavigableMap units; 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); } }

///

/// Класс предназначен для преобразований арабских чисел в римские и обратно /// /// /// Класс изначально содержит алфавит римских чисел, способных определять арабские числа от 1 до 39999 /// Если необходимо расширить диапазон, то можно определить дополнительные обозначения для римских чисел, используя /// поле БазовыеРимскиеЧисла public static class РимскоеЧисло { /// /// Алфавит базовых римских чисел /// Алфавит построен в виде словаря. Ключом словаря является арабское число (int), значением - соответствующее ему /// римское число (string) /// /// /// Содержит римское обозначения арабских чисел 1*,4*,5*,9* - где "*"представляет собой 0...N нулей /// При создании содержит в себе обозначение чисел от 1 до 10000 (I...ↂ) Так как в римском числе один символ не может /// встречаться более трех раз, то изначально можно преобразовать в римский формат числа от 1 до 39999. /// Если Вы хотите иметь возможность работать с большим количеством римских чисел, то вы должны добавить в список /// дополнительные обозначения начиная с 40000 не пропуская элементы 1*,4*,5*,9*. /// public static SortedList БазовыеРимскиеЧисла { get; set; } static РимскоеЧисло() { БазовыеРимскиеЧисла = new SortedList(17); БазовыеРимскиеЧисла.Add(1, "I"); БазовыеРимскиеЧисла.Add(4, "IV"); БазовыеРимскиеЧисла.Add(5, "V"); БазовыеРимскиеЧисла.Add(9, "IX"); БазовыеРимскиеЧисла.Add(10, "X"); БазовыеРимскиеЧисла.Add(40, "XL"); БазовыеРимскиеЧисла.Add(50, "L"); БазовыеРимскиеЧисла.Add(90, "XC"); БазовыеРимскиеЧисла.Add(100, "C"); БазовыеРимскиеЧисла.Add(400, "CD"); БазовыеРимскиеЧисла.Add(500, "D"); БазовыеРимскиеЧисла.Add(900, "CM"); БазовыеРимскиеЧисла.Add(1000, "M"); БазовыеРимскиеЧисла.Add(4000, "Mↁ"); БазовыеРимскиеЧисла.Add(5000, "ↁ"); БазовыеРимскиеЧисла.Add(9000, "Mↂ"); БазовыеРимскиеЧисла.Add(10000, "ↂ"); } /// /// Рассчитывает максимально возможное римское число для текущего алфавита римских чисел. /// /// Максимально возможное римское число public static uint МаксимальноеРимскоеЧисло() { int последнееЧисло = БазовыеРимскиеЧисла.Keys.Last(); int числоБезНулей = int.Parse(последнееЧисло.ToString().Replace("0","\0")); int предварительное=0; switch (числоБезНулей) { case 1: предварительное = последнееЧисло * 4 - 1; break; case 4: case 9: предварительное = последнееЧисло; break; case 5: предварительное = последнееЧисло + последнееЧисло / 5 * 3; break; default: break; } return uint.Parse(предварительное.ToString().Replace("0", "9"));; } /// /// Конвентирует целое число в римское число /// /// Арабское число, которое необходимо преобразовать в римскую запись /// Генерируется когда в качестве параметра передано число равное "0" /// или число большее чем максимальная римское число. /// Строку, представляющую собой римской число public static string АрабскоеВРимское(this int числоАраб) { StringBuilder числоРимское = new StringBuilder(); //Исключаем знак "-" из арабского числа и делаем его первым символом римского числа if (числоАраб < 0) { числоРимское.Append("-"); числоАраб = -числоАраб; } if (числоАраб == 0) throw new ArgumentOutOfRangeException("числоАраб", числоАраб, "Недопустимое значение аргумента: римские числа не могут быть равными\"0\""); else if (числоАраб > МаксимальноеРимскоеЧисло()) throw new ArgumentOutOfRangeException("числоАраб", числоАраб, string.Format("Недопустимое значение аргумента: невозможно задать римское число большее чем {0}", МаксимальноеРимскоеЧисло())); //Раскладываем арабское число на составляющие его римские числа и объединяем их в одну строку var необходимыеБазовыеРимскиеЧисла = from к in БазовыеРимскиеЧисла.Keys where к <= числоАраб orderby к descending select к; foreach (int тек in необходимыеБазовыеРимскиеЧисла) { while ((числоАраб / тек) >= 1) { числоАраб -= тек; числоРимское.Append(БазовыеРимскиеЧисла[тек]); } } return числоРимское.ToString(); } /// /// Конвентирует римское число в арабское /// /// Римское число, которое необходимо преобразовать в тип int /// Генерируется когда в качестве параметра передано число не являющееся римским /// Целое число, представляющее собой арабскую запись римского числа public static int РимскоеВАрабское(this string числоРимское) { int числоАраб = 0; sbyte отрицательное = 1; string рим = числоРимское.Trim(); if (рим == "-") { отрицательное = -1; рим = рим.Substring(1); } StringBuilder шаблонРимскогоНомера = new StringBuilder(); foreach (int к in БазовыеРимскиеЧисла.Keys) { int индекс = БазовыеРимскиеЧисла.Keys.IndexOf(к); string квантификатор="?"; if (индекс == 0 || (индекс % 4) == 0) квантификатор="{0,3}"; шаблонРимскогоНомера.Insert(0, string.Format("(?<{0}>({1}){2})?", к.ToString(), БазовыеРимскиеЧисла[к], квантификатор)); } //Игнорировать регистр + соответствие должно начинаться с начала строки шаблонРимскогоНомера.Insert(0, "(?i)^"); //Соответствие должно обнаруживаться в конце строки шаблонРимскогоНомера.Append("$"); //Упрощенная проверка. Не проверяет таких ошибок как IVII if (!Regex.IsMatch(рим, шаблонРимскогоНомера.ToString())) throw new FormatException(string.Format("Текст \"{0}\" не является римским числом",числоРимское)); Match число = Regex.Match(рим, шаблонРимскогоНомера.ToString()); foreach (int к in БазовыеРимскиеЧисла.Keys) { числоАраб += число.Groups[к.ToString()].Length / БазовыеРимскиеЧисла[к].Length * к; } return числоАраб * отрицательное; } }

Напишите отзыв о статье "Римские цифры"

Примечания

См. также

Техническое примечание: Из-за технических ограничений некоторые браузеры не могут показывать спецсимволы, используемые в этой статье. Такие символы могут быть отображены в виде квадратиков, вопросительных знаков или других бессмысленных символов в зависимости от вашего веб-браузера, операционной системы и набора установленных шрифтов. Даже если ваш браузер способен интерпретировать UTF-8 и вы установили шрифт, поддерживающий большой диапазон Юникода , например Code2000 , Arial Unicode MS , Lucida Sans Unicode или один из свободных шрифтов Unicode , - вам, возможно, придётся использовать другой браузер, поскольку возможности браузеров в этой области часто различаются.

Отрывок, характеризующий Римские цифры

– Часто думаю, может, это и грех, – сказала княгиня, – а часто думаю: вот граф Кирилл Владимирович Безухой живет один… это огромное состояние… и для чего живет? Ему жизнь в тягость, а Боре только начинать жить.
– Он, верно, оставит что нибудь Борису, – сказала графиня.
– Бог знает, chere amie! [милый друг!] Эти богачи и вельможи такие эгоисты. Но я всё таки поеду сейчас к нему с Борисом и прямо скажу, в чем дело. Пускай обо мне думают, что хотят, мне, право, всё равно, когда судьба сына зависит от этого. – Княгиня поднялась. – Теперь два часа, а в четыре часа вы обедаете. Я успею съездить.
И с приемами петербургской деловой барыни, умеющей пользоваться временем, Анна Михайловна послала за сыном и вместе с ним вышла в переднюю.
– Прощай, душа моя, – сказала она графине, которая провожала ее до двери, – пожелай мне успеха, – прибавила она шопотом от сына.
– Вы к графу Кириллу Владимировичу, ma chere? – сказал граф из столовой, выходя тоже в переднюю. – Коли ему лучше, зовите Пьера ко мне обедать. Ведь он у меня бывал, с детьми танцовал. Зовите непременно, ma chere. Ну, посмотрим, как то отличится нынче Тарас. Говорит, что у графа Орлова такого обеда не бывало, какой у нас будет.

– Mon cher Boris, [Дорогой Борис,] – сказала княгиня Анна Михайловна сыну, когда карета графини Ростовой, в которой они сидели, проехала по устланной соломой улице и въехала на широкий двор графа Кирилла Владимировича Безухого. – Mon cher Boris, – сказала мать, выпрастывая руку из под старого салопа и робким и ласковым движением кладя ее на руку сына, – будь ласков, будь внимателен. Граф Кирилл Владимирович всё таки тебе крестный отец, и от него зависит твоя будущая судьба. Помни это, mon cher, будь мил, как ты умеешь быть…
– Ежели бы я знал, что из этого выйдет что нибудь, кроме унижения… – отвечал сын холодно. – Но я обещал вам и делаю это для вас.
Несмотря на то, что чья то карета стояла у подъезда, швейцар, оглядев мать с сыном (которые, не приказывая докладывать о себе, прямо вошли в стеклянные сени между двумя рядами статуй в нишах), значительно посмотрев на старенький салоп, спросил, кого им угодно, княжен или графа, и, узнав, что графа, сказал, что их сиятельству нынче хуже и их сиятельство никого не принимают.
– Мы можем уехать, – сказал сын по французски.
– Mon ami! [Друг мой!] – сказала мать умоляющим голосом, опять дотрогиваясь до руки сына, как будто это прикосновение могло успокоивать или возбуждать его.
Борис замолчал и, не снимая шинели, вопросительно смотрел на мать.
– Голубчик, – нежным голоском сказала Анна Михайловна, обращаясь к швейцару, – я знаю, что граф Кирилл Владимирович очень болен… я затем и приехала… я родственница… Я не буду беспокоить, голубчик… А мне бы только надо увидать князя Василия Сергеевича: ведь он здесь стоит. Доложи, пожалуйста.
Швейцар угрюмо дернул снурок наверх и отвернулся.
– Княгиня Друбецкая к князю Василию Сергеевичу, – крикнул он сбежавшему сверху и из под выступа лестницы выглядывавшему официанту в чулках, башмаках и фраке.
Мать расправила складки своего крашеного шелкового платья, посмотрелась в цельное венецианское зеркало в стене и бодро в своих стоптанных башмаках пошла вверх по ковру лестницы.
– Mon cher, voue m"avez promis, [Мой друг, ты мне обещал,] – обратилась она опять к Сыну, прикосновением руки возбуждая его.
Сын, опустив глаза, спокойно шел за нею.
Они вошли в залу, из которой одна дверь вела в покои, отведенные князю Василью.
В то время как мать с сыном, выйдя на середину комнаты, намеревались спросить дорогу у вскочившего при их входе старого официанта, у одной из дверей повернулась бронзовая ручка и князь Василий в бархатной шубке, с одною звездой, по домашнему, вышел, провожая красивого черноволосого мужчину. Мужчина этот был знаменитый петербургский доктор Lorrain.
– C"est donc positif? [Итак, это верно?] – говорил князь.
– Mon prince, «errare humanum est», mais… [Князь, человеку ошибаться свойственно.] – отвечал доктор, грассируя и произнося латинские слова французским выговором.
– C"est bien, c"est bien… [Хорошо, хорошо…]
Заметив Анну Михайловну с сыном, князь Василий поклоном отпустил доктора и молча, но с вопросительным видом, подошел к ним. Сын заметил, как вдруг глубокая горесть выразилась в глазах его матери, и слегка улыбнулся.
– Да, в каких грустных обстоятельствах пришлось нам видеться, князь… Ну, что наш дорогой больной? – сказала она, как будто не замечая холодного, оскорбительного, устремленного на нее взгляда.
Князь Василий вопросительно, до недоумения, посмотрел на нее, потом на Бориса. Борис учтиво поклонился. Князь Василий, не отвечая на поклон, отвернулся к Анне Михайловне и на ее вопрос отвечал движением головы и губ, которое означало самую плохую надежду для больного.
– Неужели? – воскликнула Анна Михайловна. – Ах, это ужасно! Страшно подумать… Это мой сын, – прибавила она, указывая на Бориса. – Он сам хотел благодарить вас.
Борис еще раз учтиво поклонился.
– Верьте, князь, что сердце матери никогда не забудет того, что вы сделали для нас.
– Я рад, что мог сделать вам приятное, любезная моя Анна Михайловна, – сказал князь Василий, оправляя жабо и в жесте и голосе проявляя здесь, в Москве, перед покровительствуемою Анною Михайловной еще гораздо большую важность, чем в Петербурге, на вечере у Annette Шерер.
– Старайтесь служить хорошо и быть достойным, – прибавил он, строго обращаясь к Борису. – Я рад… Вы здесь в отпуску? – продиктовал он своим бесстрастным тоном.
– Жду приказа, ваше сиятельство, чтоб отправиться по новому назначению, – отвечал Борис, не выказывая ни досады за резкий тон князя, ни желания вступить в разговор, но так спокойно и почтительно, что князь пристально поглядел на него.
– Вы живете с матушкой?
– Я живу у графини Ростовой, – сказал Борис, опять прибавив: – ваше сиятельство.
– Это тот Илья Ростов, который женился на Nathalie Шиншиной, – сказала Анна Михайловна.
– Знаю, знаю, – сказал князь Василий своим монотонным голосом. – Je n"ai jamais pu concevoir, comment Nathalieie s"est decidee a epouser cet ours mal – leche l Un personnage completement stupide et ridicule.Et joueur a ce qu"on dit. [Я никогда не мог понять, как Натали решилась выйти замуж за этого грязного медведя. Совершенно глупая и смешная особа. К тому же игрок, говорят.]
– Mais tres brave homme, mon prince, [Но добрый человек, князь,] – заметила Анна Михайловна, трогательно улыбаясь, как будто и она знала, что граф Ростов заслуживал такого мнения, но просила пожалеть бедного старика. – Что говорят доктора? – спросила княгиня, помолчав немного и опять выражая большую печаль на своем исплаканном лице.
– Мало надежды, – сказал князь.
– А мне так хотелось еще раз поблагодарить дядю за все его благодеяния и мне и Боре. C"est son filleuil, [Это его крестник,] – прибавила она таким тоном, как будто это известие должно было крайне обрадовать князя Василия.
Князь Василий задумался и поморщился. Анна Михайловна поняла, что он боялся найти в ней соперницу по завещанию графа Безухого. Она поспешила успокоить его.
– Ежели бы не моя истинная любовь и преданность дяде, – сказала она, с особенною уверенностию и небрежностию выговаривая это слово: – я знаю его характер, благородный, прямой, но ведь одни княжны при нем…Они еще молоды… – Она наклонила голову и прибавила шопотом: – исполнил ли он последний долг, князь? Как драгоценны эти последние минуты! Ведь хуже быть не может; его необходимо приготовить ежели он так плох. Мы, женщины, князь, – она нежно улыбнулась, – всегда знаем, как говорить эти вещи. Необходимо видеть его. Как бы тяжело это ни было для меня, но я привыкла уже страдать.
Князь, видимо, понял, и понял, как и на вечере у Annette Шерер, что от Анны Михайловны трудно отделаться.
– Не было бы тяжело ему это свидание, chere Анна Михайловна, – сказал он. – Подождем до вечера, доктора обещали кризис.
– Но нельзя ждать, князь, в эти минуты. Pensez, il у va du salut de son ame… Ah! c"est terrible, les devoirs d"un chretien… [Подумайте, дело идет о спасения его души! Ах! это ужасно, долг христианина…]
Из внутренних комнат отворилась дверь, и вошла одна из княжен племянниц графа, с угрюмым и холодным лицом и поразительно несоразмерною по ногам длинною талией.
Князь Василий обернулся к ней.
– Ну, что он?
– Всё то же. И как вы хотите, этот шум… – сказала княжна, оглядывая Анну Михайловну, как незнакомую.
– Ah, chere, je ne vous reconnaissais pas, [Ах, милая, я не узнала вас,] – с счастливою улыбкой сказала Анна Михайловна, легкою иноходью подходя к племяннице графа. – Je viens d"arriver et je suis a vous pour vous aider a soigner mon oncle . J`imagine, combien vous avez souffert, [Я приехала помогать вам ходить за дядюшкой. Воображаю, как вы настрадались,] – прибавила она, с участием закатывая глаза.
Княжна ничего не ответила, даже не улыбнулась и тотчас же вышла. Анна Михайловна сняла перчатки и в завоеванной позиции расположилась на кресле, пригласив князя Василья сесть подле себя.
– Борис! – сказала она сыну и улыбнулась, – я пройду к графу, к дяде, а ты поди к Пьеру, mon ami, покаместь, да не забудь передать ему приглашение от Ростовых. Они зовут его обедать. Я думаю, он не поедет? – обратилась она к князю.
– Напротив, – сказал князь, видимо сделавшийся не в духе. – Je serais tres content si vous me debarrassez de ce jeune homme… [Я был бы очень рад, если бы вы меня избавили от этого молодого человека…] Сидит тут. Граф ни разу не спросил про него.
Он пожал плечами. Официант повел молодого человека вниз и вверх по другой лестнице к Петру Кирилловичу.

Пьер так и не успел выбрать себе карьеры в Петербурге и, действительно, был выслан в Москву за буйство. История, которую рассказывали у графа Ростова, была справедлива. Пьер участвовал в связываньи квартального с медведем. Он приехал несколько дней тому назад и остановился, как всегда, в доме своего отца. Хотя он и предполагал, что история его уже известна в Москве, и что дамы, окружающие его отца, всегда недоброжелательные к нему, воспользуются этим случаем, чтобы раздражить графа, он всё таки в день приезда пошел на половину отца. Войдя в гостиную, обычное местопребывание княжен, он поздоровался с дамами, сидевшими за пяльцами и за книгой, которую вслух читала одна из них. Их было три. Старшая, чистоплотная, с длинною талией, строгая девица, та самая, которая выходила к Анне Михайловне, читала; младшие, обе румяные и хорошенькие, отличавшиеся друг от друга только тем, что у одной была родинка над губой, очень красившая ее, шили в пяльцах. Пьер был встречен как мертвец или зачумленный. Старшая княжна прервала чтение и молча посмотрела на него испуганными глазами; младшая, без родинки, приняла точно такое же выражение; самая меньшая, с родинкой, веселого и смешливого характера, нагнулась к пяльцам, чтобы скрыть улыбку, вызванную, вероятно, предстоящею сценой, забавность которой она предвидела. Она притянула вниз шерстинку и нагнулась, будто разбирая узоры и едва удерживаясь от смеха.
– Bonjour, ma cousine, – сказал Пьер. – Vous ne me гесоnnaissez pas? [Здравствуйте, кузина. Вы меня не узнаете?]
– Я слишком хорошо вас узнаю, слишком хорошо.
– Как здоровье графа? Могу я видеть его? – спросил Пьер неловко, как всегда, но не смущаясь.
– Граф страдает и физически и нравственно, и, кажется, вы позаботились о том, чтобы причинить ему побольше нравственных страданий.
– Могу я видеть графа? – повторил Пьер.
– Гм!.. Ежели вы хотите убить его, совсем убить, то можете видеть. Ольга, поди посмотри, готов ли бульон для дяденьки, скоро время, – прибавила она, показывая этим Пьеру, что они заняты и заняты успокоиваньем его отца, тогда как он, очевидно, занят только расстроиванием.
Ольга вышла. Пьер постоял, посмотрел на сестер и, поклонившись, сказал:
– Так я пойду к себе. Когда можно будет, вы мне скажите.
Он вышел, и звонкий, но негромкий смех сестры с родинкой послышался за ним.
На другой день приехал князь Василий и поместился в доме графа. Он призвал к себе Пьера и сказал ему:
– Mon cher, si vous vous conduisez ici, comme a Petersbourg, vous finirez tres mal; c"est tout ce que je vous dis. [Мой милый, если вы будете вести себя здесь, как в Петербурге, вы кончите очень дурно; больше мне нечего вам сказать.] Граф очень, очень болен: тебе совсем не надо его видеть.
С тех пор Пьера не тревожили, и он целый день проводил один наверху, в своей комнате.
В то время как Борис вошел к нему, Пьер ходил по своей комнате, изредка останавливаясь в углах, делая угрожающие жесты к стене, как будто пронзая невидимого врага шпагой, и строго взглядывая сверх очков и затем вновь начиная свою прогулку, проговаривая неясные слова, пожимая плечами и разводя руками.
– L"Angleterre a vecu, [Англии конец,] – проговорил он, нахмуриваясь и указывая на кого то пальцем. – M. Pitt comme traitre a la nation et au droit des gens est condamiene a… [Питт, как изменник нации и народному праву, приговаривается к…] – Он не успел договорить приговора Питту, воображая себя в эту минуту самим Наполеоном и вместе с своим героем уже совершив опасный переезд через Па де Кале и завоевав Лондон, – как увидал входившего к нему молодого, стройного и красивого офицера. Он остановился. Пьер оставил Бориса четырнадцатилетним мальчиком и решительно не помнил его; но, несмотря на то, с свойственною ему быстрою и радушною манерой взял его за руку и дружелюбно улыбнулся.
– Вы меня помните? – спокойно, с приятной улыбкой сказал Борис. – Я с матушкой приехал к графу, но он, кажется, не совсем здоров.
– Да, кажется, нездоров. Его всё тревожат, – отвечал Пьер, стараясь вспомнить, кто этот молодой человек.
Борис чувствовал, что Пьер не узнает его, но не считал нужным называть себя и, не испытывая ни малейшего смущения, смотрел ему прямо в глаза.
– Граф Ростов просил вас нынче приехать к нему обедать, – сказал он после довольно долгого и неловкого для Пьера молчания.
– А! Граф Ростов! – радостно заговорил Пьер. – Так вы его сын, Илья. Я, можете себе представить, в первую минуту не узнал вас. Помните, как мы на Воробьевы горы ездили c m me Jacquot… [мадам Жако…] давно.
– Вы ошибаетесь, – неторопливо, с смелою и несколько насмешливою улыбкой проговорил Борис. – Я Борис, сын княгини Анны Михайловны Друбецкой. Ростова отца зовут Ильей, а сына – Николаем. И я m me Jacquot никакой не знал.
Пьер замахал руками и головой, как будто комары или пчелы напали на него.
– Ах, ну что это! я всё спутал. В Москве столько родных! Вы Борис…да. Ну вот мы с вами и договорились. Ну, что вы думаете о булонской экспедиции? Ведь англичанам плохо придется, ежели только Наполеон переправится через канал? Я думаю, что экспедиция очень возможна. Вилльнев бы не оплошал!
Борис ничего не знал о булонской экспедиции, он не читал газет и о Вилльневе в первый раз слышал.
– Мы здесь в Москве больше заняты обедами и сплетнями, чем политикой, – сказал он своим спокойным, насмешливым тоном. – Я ничего про это не знаю и не думаю. Москва занята сплетнями больше всего, – продолжал он. – Теперь говорят про вас и про графа.
Пьер улыбнулся своей доброю улыбкой, как будто боясь за своего собеседника, как бы он не сказал чего нибудь такого, в чем стал бы раскаиваться. Но Борис говорил отчетливо, ясно и сухо, прямо глядя в глаза Пьеру.
– Москве больше делать нечего, как сплетничать, – продолжал он. – Все заняты тем, кому оставит граф свое состояние, хотя, может быть, он переживет всех нас, чего я от души желаю…
– Да, это всё очень тяжело, – подхватил Пьер, – очень тяжело. – Пьер всё боялся, что этот офицер нечаянно вдастся в неловкий для самого себя разговор.
– А вам должно казаться, – говорил Борис, слегка краснея, но не изменяя голоса и позы, – вам должно казаться, что все заняты только тем, чтобы получить что нибудь от богача.
«Так и есть», подумал Пьер.
– А я именно хочу сказать вам, чтоб избежать недоразумений, что вы очень ошибетесь, ежели причтете меня и мою мать к числу этих людей. Мы очень бедны, но я, по крайней мере, за себя говорю: именно потому, что отец ваш богат, я не считаю себя его родственником, и ни я, ни мать никогда ничего не будем просить и не примем от него.
Пьер долго не мог понять, но когда понял, вскочил с дивана, ухватил Бориса за руку снизу с свойственною ему быстротой и неловкостью и, раскрасневшись гораздо более, чем Борис, начал говорить с смешанным чувством стыда и досады.
– Вот это странно! Я разве… да и кто ж мог думать… Я очень знаю…
Но Борис опять перебил его:
– Я рад, что высказал всё. Может быть, вам неприятно, вы меня извините, – сказал он, успокоивая Пьера, вместо того чтоб быть успокоиваемым им, – но я надеюсь, что не оскорбил вас. Я имею правило говорить всё прямо… Как же мне передать? Вы приедете обедать к Ростовым?
И Борис, видимо свалив с себя тяжелую обязанность, сам выйдя из неловкого положения и поставив в него другого, сделался опять совершенно приятен.
– Нет, послушайте, – сказал Пьер, успокоиваясь. – Вы удивительный человек. То, что вы сейчас сказали, очень хорошо, очень хорошо. Разумеется, вы меня не знаете. Мы так давно не видались…детьми еще… Вы можете предполагать во мне… Я вас понимаю, очень понимаю. Я бы этого не сделал, у меня недостало бы духу, но это прекрасно. Я очень рад, что познакомился с вами. Странно, – прибавил он, помолчав и улыбаясь, – что вы во мне предполагали! – Он засмеялся. – Ну, да что ж? Мы познакомимся с вами лучше. Пожалуйста. – Он пожал руку Борису. – Вы знаете ли, я ни разу не был у графа. Он меня не звал… Мне его жалко, как человека… Но что же делать?
– И вы думаете, что Наполеон успеет переправить армию? – спросил Борис, улыбаясь.
Пьер понял, что Борис хотел переменить разговор, и, соглашаясь с ним, начал излагать выгоды и невыгоды булонского предприятия.
Лакей пришел вызвать Бориса к княгине. Княгиня уезжала. Пьер обещался приехать обедать затем, чтобы ближе сойтись с Борисом, крепко жал его руку, ласково глядя ему в глаза через очки… По уходе его Пьер долго еще ходил по комнате, уже не пронзая невидимого врага шпагой, а улыбаясь при воспоминании об этом милом, умном и твердом молодом человеке.
Как это бывает в первой молодости и особенно в одиноком положении, он почувствовал беспричинную нежность к этому молодому человеку и обещал себе непременно подружиться с ним.
Князь Василий провожал княгиню. Княгиня держала платок у глаз, и лицо ее было в слезах.
– Это ужасно! ужасно! – говорила она, – но чего бы мне ни стоило, я исполню свой долг. Я приеду ночевать. Его нельзя так оставить. Каждая минута дорога. Я не понимаю, чего мешкают княжны. Может, Бог поможет мне найти средство его приготовить!… Adieu, mon prince, que le bon Dieu vous soutienne… [Прощайте, князь, да поддержит вас Бог.]
– Adieu, ma bonne, [Прощайте, моя милая,] – отвечал князь Василий, повертываясь от нее.
– Ах, он в ужасном положении, – сказала мать сыну, когда они опять садились в карету. – Он почти никого не узнает.
– Я не понимаю, маменька, какие его отношения к Пьеру? – спросил сын.
– Всё скажет завещание, мой друг; от него и наша судьба зависит…
– Но почему вы думаете, что он оставит что нибудь нам?
– Ах, мой друг! Он так богат, а мы так бедны!
– Ну, это еще недостаточная причина, маменька.
– Ах, Боже мой! Боже мой! Как он плох! – восклицала мать.

Когда Анна Михайловна уехала с сыном к графу Кириллу Владимировичу Безухому, графиня Ростова долго сидела одна, прикладывая платок к глазам. Наконец, она позвонила.
– Что вы, милая, – сказала она сердито девушке, которая заставила себя ждать несколько минут. – Не хотите служить, что ли? Так я вам найду место.
Графиня была расстроена горем и унизительною бедностью своей подруги и поэтому была не в духе, что выражалось у нее всегда наименованием горничной «милая» и «вы».
– Виновата с, – сказала горничная.
– Попросите ко мне графа.
Граф, переваливаясь, подошел к жене с несколько виноватым видом, как и всегда.
– Ну, графинюшка! Какое saute au madere [сотэ на мадере] из рябчиков будет, ma chere! Я попробовал; не даром я за Тараску тысячу рублей дал. Стоит!
Он сел подле жены, облокотив молодецки руки на колена и взъерошивая седые волосы.
– Что прикажете, графинюшка?
– Вот что, мой друг, – что это у тебя запачкано здесь? – сказала она, указывая на жилет. – Это сотэ, верно, – прибавила она улыбаясь. – Вот что, граф: мне денег нужно.
Лицо ее стало печально.
– Ах, графинюшка!…
И граф засуетился, доставая бумажник.
– Мне много надо, граф, мне пятьсот рублей надо.
И она, достав батистовый платок, терла им жилет мужа.
– Сейчас, сейчас. Эй, кто там? – крикнул он таким голосом, каким кричат только люди, уверенные, что те, кого они кличут, стремглав бросятся на их зов. – Послать ко мне Митеньку!
Митенька, тот дворянский сын, воспитанный у графа, который теперь заведывал всеми его делами, тихими шагами вошел в комнату.

Римские цифры - цифры , использовавшиеся древними римлянами в своей непозиционной системе счисления.

Натуральные числа записываются при помощи повторения этих цифр. При этом, если большая цифра стоит перед меньшей, то они складываются (принцип сложения), если же меньшая - перед большей, то меньшая вычитается из большей (принцип вычитания). Последнее правило применяется только во избежание четырёхкратного повторения одной и той же цифры.

Римские цифры появились около 500 лет до нашей эры у этрусков.

Цифры

Для закрепления в памяти буквенных обозначений цифр в порядке убывания существует мнемоническое правило:

М ы D арим С очные L имоны, Х ватит V сем I х.

Соответственно M, D, C, L, X, V, I

Для правильной записи больших чисел римскими цифрами необходимо сначала записать число тысяч, затем сотен, затем десятков и, наконец, единиц.

Существует «сокращённый способ» для записи больших чисел, таких как 1999. Он не рекомендуется, но иногда используется для упрощения. Отличие состоит в том, что для уменьшения цифры слева от неё может писаться любая цифра:

  • 999. Тысяча (M), вычтем 1 (I), получим 999 (IM) вместо CMXCIX. Следствие: 1999 - MIM вместо MCMXCIX
  • 95. Сто (C), вычтем 5 (V), получим 95 (VC) вместо XCV
  • 1950: Tысяча (M), вычтем 50 (L), получим 950 (LM). Следствие: 1950 - MLM вместо MCML

Повсеместно записывать число «четыре» как «IV» стали только в XIX веке, до этого наиболее часто употреблялась запись «IIII». Однако запись «IV» можно встретить уже в документах манускрипта «Forme of Cury», датируемых 1390 годом. На циферблатах часов в большинстве случаев традиционно используется «IIII» вместо «IV», главным образом, по эстетическим соображениям: такое написание обеспечивает визуальную симметрию с цифрами «VIII» на противоположной стороне, а перевёрнутую «IV» прочесть труднее, чем «IIII».

Применение Римских цифр

В русском языке римские цифры используются в следующих случаях:

  • Номер века или тысячелетия: XIX век, II тысячелетие до н. э.
  • Порядковый номер монарха: Карл V, Екатерина II.
  • Номер тома в многотомной книге (иногда - номера частей книги, разделов или глав).
  • В некоторых изданиях - номера листов с предисловием к книге, чтобы не исправлять ссылки внутри основного текста при изменении предисловия.
  • Маркировка циферблатов часов «под старину» .
  • Иные важные события или пункты списка, например: V постулат Евклида , II мировая война , XXII съезд КПСС и т. п.

В других языках сфера применения римских цифр может иметь особенности, например, в западных странах римскими цифрами иногда записывается номер года.

Римские цифры и Юникод

Стандарт Юникод определяет символы для представления римских цифр, как часть Числовых форм (англ. Number Forms ), в области знаков с кодами с U+2160 по U+2188. Например, MCMLXXXVIII может быть представлено в форме ⅯⅭⅯⅬⅩⅩⅩⅧ . Этот диапазон включает как строчные, так и прописные цифры от 1 (Ⅰ или I) до 12 (Ⅻ или XII), в том числе и комбинированные глифы для составных чисел, таких как 8 (Ⅷ или VIII), главным образом для обеспечения совместимости с восточноазиатскими наборами символов в таких промышленных стандартах, как JIS X 0213 , где эти символы определены. Комбинированные глифы используются для представления чисел, которые ранее составлялись из отдельных символов (например, Ⅻ вместо его представления как Ⅹ и Ⅱ ). В дополнение к этому, глифы существуют для архаичных форм записи чисел 1000, 5000, 10 000, большой обратной C (Ɔ ), поздней формы записи 6 (ↅ , похожей на греческую стигму: Ϛ ), ранней формы записи числа 50 (ↆ , похожей на стрелку, указывающую вниз ↓⫝⊥ ), 50 000, и 100 000. Следует отметить, что маленькая обратная c, ↄ не включена в символы римских цифр, но включена в стандарт Юникод как прописная клавдиева буква Ↄ .

Римские цифры в Юникод
Код 0 1 2 3 4 5 6 7 8 9 A B C D E F
Значение 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
Значение 1 000 5 000 10 000 - - 6 50 50 000 100 000
U+2160! U+2180
2180

2181

2182

Символы в диапазоне U+2160-217F присутствуют только для совместимости с другими стандартами, которыми определены эти символы. В обиходе применяются обычные буквы латинского алфавита. Отображение таких символов требует наличия программного обеспечения, поддерживающего стандарт Юникод, и шрифта, содержащего соответствующие этим символам глифы.