Кстати, о
римских цифрах, Юникоде и системах счисления.
1) Кому пришло в голову занести
в Юникод минускульный вариант римских цифр? Это полный "неканон", хотя не суть - кто и где вообще использует обозначения viii, xlix etc.? UPD: ответ от
spamsink в комментариях
2) Отличительный принцип римской нумерации "справа - прибавляется, слева - вычитается", возведенный в абсолют, наводит на мысль о его возможном применении для знакоразрядных систем счисления, в т.ч. для самой известной из них (кому по задаче из книжки Перельмана, кому по ЭВМ "Сетунь") -
уравновешенной троичной (balanced ternary, bal3). К слову, одной из моих любимых.
Для примера записал натуральные числа от 1 до 40, для -1 в позиционной записи выбрал символ Z (гусары, молчать - в силу визуального сходства с двойкой, чтобы подчеркнуть преемственность с обычной троичной).
Для псевдо квази-римской записи: 1 - I (ну а как), 3 - L, 9 - S, 27 - V (отсылка к стандартным обозначениям длины, площади и объема). Правила записи: слева направо по убыванию пишем символы, соответствующие разрядам с единицей, затем слева к ним, справа налево по убыванию, дописываем символы разрядов с минус-единицей. Такой способ обеспечивает двухсторонне однозначную конвертацию.
1
1
I
11
11Z
ISL
21
1Z10
SVL
31
1011
VLI
2
1Z
IL
12
110
SL
22
1Z11
SVLI
32
11ZZ
ILVS
3
10
L
13
111
SLI
23
10ZZ
ILV
33
11Z0
LVS
4
11
LI
14
1ZZZ
ILSV
24
10Z0
LV
34
11Z1
LVSI
5
1ZZ
ILS
15
1ZZ0
LSV
25
10Z1
LVI
35
110Z
IVS
6
1Z0
LS
16
1ZZ1
LSVI
26
100Z
IV
36
1100
VS
7
1Z1
LSI
17
1Z0Z
ISV
27
1000
V
37
1101
VSI
8
10Z
IS
18
1Z00
SV
28
1001
VI
38
111Z
IVSL
9
100
S
19
1Z01
SVI
29
101Z
IVL
39
1110
VSL
10
101
SI
20
1Z1Z
ISVL
30
1010
VL
40
1111
VSLI
Практической пользы ноль, но "во-первых, это красиво" (с). Тут, кстати, строчные аналоги букв могут применяться для дробной части чисел (если бы строчная l не путалась с заглавной I по начертанию).