akuklev: (Default)
akuklev ([personal profile] akuklev) wrote2012-03-27 03:02 am

О записи и произнесении чисел

Удивительно по-идиотски сложилась судьба научной и инженерной записи чисел.
Пишут себе h = 6,626068 × 10-34 Js или проговаривают так же. Я сам иной раз помню, что постоянная Планка равна шести шестьдесят двум, но с трудом вспоминаю порядок, хотя важнее-то как раз порядок. С постановкой в конец десятичных приставок (кило, мега и т.д.) та же фигня. При этом ещё проблема, что эти приставки нельзя использовать, когда единицы измерения нет, и неудобно, когда их несколько. Вот как надо, килоджоуль-метр или джоуль-километр?

Я бы предложил ставить десятичные приставки вместо десятичных разделителей:
 10k28 м = “десять кило (и два и восемь) метров”
 6μ12 Ф = “6 микро (и один и два) фарад”

Вместо десятичной точки/десятичной запятой, вечного яблока раздора континентальной и британской традиции, можно было бы взять например штрих в половину высоты строки: 1ₗ99 метр. Если начинается на ноль, то можно опустить этот ноль без опасений, что что-то не заметят. Это облегчает отказ от такой идиотской единицы как процент: ₗ99 избирателей.

Если кому буковки нравятся меньше циферок, можно делать вот так: h = 6[-33]626068 Js.
Что-то подобное, кажется, некогда предлагал Дейкстра. По-моему, гораздо лучше, чем то что используется сейчас.

Добавка для любителей конлангов:
Сколько-то лет назад мы с коллегами выдумали для удобства общения систему слогового чтения чисел:
 Русскими: ни, мо, ди, три, ка, кви, шe, зе, йо, те
 Латиница: ni, mo, di, tri, ka, qui, sce, ze, yo, te
(слегка усовершенствованный вариант).

Целую часть заканчиваем на -в, затем добавляем десятичную приставку если есть, и дробную часть:10k28 м = “Монив кило дийо метров”, 1ₗ2 = “мовди”, ₗ99 = “втете”.

Если десятичная приставка выходит за пределы стандартных СИ, проговариваем цифрами нужную степень тысячи, добавлаем -та или -пто в зависимости от того, нужна нам отрицательная или положительная. Приставки зета, йотта, зепто и йокто совпадают у нас с СИшными.
6[-33]626068 Js = “шев момокто шедише нишейо джоуль-секунд”.

Upd: [livejournal.com profile] onkija предлагает во-первых писать в научной записи степени тысячи, а не десятки, во-вторых в инженерной ставить разделители между каждым триплетом цифр. Вот так:
10km
2k12 m
662[11]260 696
3ₗ141m592μ653n589p79

Кроме того, он предложил слегка модифицированные правила чтения, см. в комментах. Мне нравится.

(Anonymous) 2012-03-27 03:48 am (UTC)(link)
Как-то по-еврейски звучит.
ext_615659: (Default)

[identity profile] akuklev.livejournal.com 2012-03-27 04:01 am (UTC)(link)
Как говорил незабвенный Черномырдин “У нас ведь как? — Какую партию не строй, а получается КПСС”. :-)

[identity profile] graf-vk.livejournal.com 2012-03-27 07:22 am (UTC)(link)
а "ноль целых хрен десятых" это нинипто? (ну то есть я понимаю, что "нивни", но мне так больше нравится)

а вообще мне кажется что слоговой системе произношения не хватает некоторой избыточности. Хотя может если привыкнуть, то нормально было бы...

А еще я не уверен, что правильно порядок -- который действительно важнее -- прятать куда-то в середину
Edited 2012-03-27 07:25 (UTC)

[identity profile] onkija.livejournal.com 2012-03-27 12:14 pm (UTC)(link)
Согласен с предыдущим оратором насчёт избыточности. Очень внятно произносить надо.
А насчёт "прятанья" порядка - нет. Ему там самое место, он как раз к точке и относится.

У меня перегруженная точка "в" вызывает сомнения. Хорошо бы точку, после которой идёт порядок, произносить иначе, чем точку, после которой идёт дробная часть. Может быть, даже отличать стандартный порядок от произвольного.
Например: 5[Y]4 - 5.894 - 5[-8]4

И ещё, индексные m и M трудно отличать, а вертикальный штрих в половину строки я у себя на клавиатуре вовсе не нашёл. Вряд ли приживётся. А вот целая[порядок]дробная - возможно.
ext_615659: (Default)

[identity profile] akuklev.livejournal.com 2012-03-27 12:25 pm (UTC)(link)
Зачем стандартный от произвольного не знаю, а вот с перегрузкой «-в» надо подумать.

5[Y]4 = - 5[-24]4 = квив йокто ка
5.8494 = квив йокатеке

[identity profile] onkija.livejournal.com 2012-03-27 06:39 pm (UTC)(link)
5[Y]4 квив йокто ка
5[8]4 квив йокто ка ?

А как насчёт 5[micro]340[nano] ?

Может, флаг "в" со значением "следом будет порядок или дробная часть"
заменить на "во"=="[0]", и добавить флаги "будет произвольный порядок в слоговом произношении" и "будет стандартное название порядка", например, "ва" и "в"?

[identity profile] onkija.livejournal.com 2012-03-27 06:41 pm (UTC)(link)
5[-8]4, sorry.
ext_615659: (Default)

[identity profile] akuklev.livejournal.com 2012-03-27 06:46 pm (UTC)(link)
> 5[Y]4 квив йокто ка
> 5[-8]4 квив йокто ка ?
Да, совпадает.

> добавить флаги "будет произвольный порядок в слоговом произношении" и "будет стандартное название порядка"

А зачем? Я просто действительно не понимаю, зачем. Когда мы находимся в диапазоне привычных приставок СИ, они заведомо удобнее. Когда за пределами — удобнее слоговое произношение. На краях приставок СИ они просто совпадают один в один.

Насчёт 5[micro]340[nano] подумаю. Идея с «-во» хороша.

[identity profile] onkija.livejournal.com 2012-03-27 06:52 pm (UTC)(link)
На "А зачем?": Чтобы можно было отличить на слух стандартную приставку от слоговой - те же [Y] и [-8].

[identity profile] onkija.livejournal.com 2012-03-27 07:04 pm (UTC)(link)
Или произносимый порядок ограничен степенями тысячи, и 5[-8]4 можно сказать только как "квикав трикто"?
ext_615659: (Default)

[identity profile] akuklev.livejournal.com 2012-03-28 02:17 am (UTC)(link)
Да, задумано, что это степени тысячи.

5[-8]4 можно сказать только как «квикав нано».

[identity profile] onkija.livejournal.com 2012-03-28 04:48 am (UTC)(link)
Без произвольного порядка при записи и чтении надо выполнять деление/умножение на три. Операция простая, но она есть.
Писать в квадратных скобках степени тысячи?

Предлагаю трикто и прочие тоже разрешить, как синонимы. Однозначность остаётся, а диапазон привычных приставок Си для разных людей разный.

Числа проговариваются тройками между позициями, в которых можно вставить степень?
ext_615659: (Default)

[identity profile] akuklev.livejournal.com 2012-03-28 09:48 am (UTC)(link)
> Писать в квадратных скобках степени тысячи?
Ага, я собственно так в посте и предлагал. Можно разрешить синонимы в принципе, да.

> Числа проговариваются тройками между позициями, в которых можно вставить степень?
Ага.

[identity profile] onkija.livejournal.com 2012-03-28 05:35 pm (UTC)(link)
В посте
6[-33]626068 Js = “шев момокто шедише нишейо джоуль-секунд”
Если писать степени тысячи, то должно быть 6[-11]626068
( == 6.626068e-33 ).
ext_615659: (Default)

[identity profile] akuklev.livejournal.com 2012-03-28 05:57 pm (UTC)(link)
А, да. Пишу я степени десятки, а произношу степени тысячи. Как-то в самом деле неидеально получается, путано я бы даже сказал.
ext_615659: (Default)

[identity profile] akuklev.livejournal.com 2012-03-28 06:12 pm (UTC)(link)
Т.е. что я сказал вот тут:
>> Писать в квадратных скобках степени тысячи?
> Ага, я собственно так в посте и предлагал. Можно разрешить синонимы в принципе, да.
– это неправда. Писать степени десятки, конечно, как принято в научной записи. Отдельно от научной существует инженерная запись (там и сейчас используются только степени тысячи), и это в пределах СИ.

Про слоговое чтение я написал отдельно и это конечно именно чтение, а не запись. И получается что это чтение с записью предложенной выше соотносится неидеально. То есть с инженерной отлично, а с научной так себе.

[identity profile] onkija.livejournal.com 2012-03-28 06:47 pm (UTC)(link)
Если взять за основу тысячу вместо десяти, то запись и чтение оказываются согласованы. Этот переход, если делать, то вместе с переходом от ... x 10 ^ ... к ...[...]... , иначе будет путаница.

[identity profile] onkija.livejournal.com 2012-03-29 04:39 pm (UTC)(link)
Попробовал развить. Посмотри, пожалуйста.
И ещё, -пто или -кто выбираются произвольно?
----
Запись вещественных чисел с группированием по степеням тысячи и маркировкой групп:

Цифры пишутся труппами по 3 цифры, так, чтобы разряд последней цифры в каждой группе соответствовал тысяче в целой степени.
Для числа выбирается удобная целая степень тысячи, и записывается в виде маркера (числом или стандартной приставкой СИ в квадратных скобках) после соответствующей группы:
<цифры до разряда X включительно>[<маркер (степень тысячи,
соответствующая разряду X, или приставка СИ)>]<цифры после разряда X>

Начинающие нули группы в начале числа и завершающие нули группы в конце числа, не находящиеся между значащими разрядами и маркером, не пишутся.
Вместо [0] следует писать точку.

Примеры:
12[-1]3 метра или 12[милли]3 метра
10[-11]545 71 Дж*с
3.141 592 653 897 9


Слоговое чтение вещественных чисел:

Цифра: 0 1 2 3 4 5 6 7 8 9
Латиница: ni mo di tri ka qui sce ze yo te
Произношение: ни мо ди три ка кви шe зе йо те

Цифры произносятся группами по три.
Обозначение порядка произносится непосредственно после цифры, к которому оно относится, как число с суффиксом -та для положительных степеней тысячи и -кто/пто для отрицательных, или как стандартные приставки СИ. Число, к которому относится порядок, произносится с суффиксом -в. Десятичная точка произносится как суффикс -во после первого разряда.

Примеры:
3,141 592 653 589 79 = триво мокамо квитеди шеквитри квийоте зете
2,718 281 828 459 045 = диво земойо дийомо йодийо каквите никакви
66[11]260 696 = шешев момокто дишени шетеши
1[-3]234 = мов трикто дитрика
1[нано]234[пико] метров = мов нано дитрикав пико метров
40[1]009 88 = канив мота нините йойо или канив кило нините йойо
ext_615659: (Default)

[identity profile] akuklev.livejournal.com 2012-03-29 04:50 pm (UTC)(link)
Мне кажется очень хорошо!

Но вот типографика не очень. 1[нано]234[пико] метров вылядит на мой вкус значительно хуже чем
1n234pm

[identity profile] onkija.livejournal.com 2012-03-30 09:39 am (UTC)(link)
di не позволяет использовать чтение для шестнадцатиричных чисел.
Может, заменить на "du" (ду)?
ext_615659: (Default)

[identity profile] akuklev.livejournal.com 2012-03-30 09:50 am (UTC)(link)
Тут надо очень аккуратно выверить, чтобы при этом различимость чисел на слух не ухучшилась. Мне сейчас этим лень заниматься, когда мы выдумывали это дело с ребятами — занимались. Просто сгенерили рандомом ряд чисел и проверяли: один быстро произносил, кто-то другой быстро на слух записывал. Если вам не лень убедиться, что смена на ду не понижает различимости, я абсолютно ничего не имею против. :-)
ext_615659: (Default)

[identity profile] akuklev.livejournal.com 2012-03-29 05:32 pm (UTC)(link)
Упс. В комментах стили обрезаются, оказывается. См примеры улучшенной типографики в посте выше.

[identity profile] onkija.livejournal.com 2012-03-28 04:56 am (UTC)(link)
Прошу прощения, я писал "стандарный порядок", имея ввиду "кратный тысяче". Неоднократно.
ext_615659: (Default)

[identity profile] akuklev.livejournal.com 2012-03-27 12:46 pm (UTC)(link)
> А еще я не уверен, что правильно порядок -- который действительно важнее -- прятать куда-то в середину

Без этого без потери удобства можно обойтись только в двоичной и троично-симметричной системе счисления, в обеих в нормальной форме любое число начинается на 1. Соответственно там можно писать (степень)#(мантисса).

Если степень писать десятично, а мантиссу двоично, то, 1408 = 1024 + 256 + 128 это 10b011. А если троичносимметрично, то 7t!0!1011. Троичносимметричная система конечно приятна тем, что отбрасывание в ней является корректным округлением.

[identity profile] ryba-barrakuda.livejournal.com 2012-03-27 08:56 am (UTC)(link)
отличная система, многое бы упростилось с ее введением. Начну, пожалуй, по-тихоньку использовать хотя бы для себя :)