И З ИСТОРИИ НАУКИ
Бывают ли отрицательные цифры?
Д.ЗЛАТОПОЛЬСКИЙ
Что такое отрицательные цифры
Как ни странно, ответ на вопрос, вынесенный в название статьи: «Да, бывают!» Впервые отрицательные цифры предложил использовать еще в 1726 году английский математик Джон Колсон в своей статье «Краткое изложение отрицательноположительной арифметики» [1]. Чтобы отличить отрицательные цифры от «обычных», он предложил обозначать их с черточкой над цифрой. Так, в начале статьи ученый приводит число 3709286573961472 и далее показывает, что оно соответствует «обычному» числу 2308726432039468, хотя приведенный пример не совсем соответствует цели, которую, как пишет сам Колсон, он ставит, вводя отрицательные цифры. А цель эта такая – упрощение арифметических операций над большими числами путем отказа от использования «больших» цифр 6, 7, 8 и 9 и замены их значениями с отрицательными цифрами 14, 13, 12 и 11. Здесь 14 10 4, так же, как 14 10 4 (аналогично для 13, 12, 11 ). В дальнейшем Колсон приводит пример такого преобразования – вместо числа 181937462 использовать при расчетах число
Удобнее складывать
Показывая преимущества (по его мнению) своей системы, Колсон приводит такой пример сложения нескольких чисел:
1 Конечно, Колсон описывает в статье правила преобразования чисел с цифрами 6, 7, 8 и 9 в числа с отрицательными цифрами и обратно.
DOI: https://doi.org/10.4213/kvant20210402
Видно, что если бы слагаемые были представлены в обычной десятичной записи, то пришлось бы, например, в последнем разряде складывать цифры
3 8
7 1
8 6
5 в то время как в приведенном варианте нужно сложить цифры
3 2
3 1
2 4
5 что, конечно, проще (при этом уменьшается и вероятность ошибки).
14
КВАНТ 2021/№4
значим ее 1. Тогда последнее равенство можно записать в виде 2 . А это означает, что любое целое число K можно изобразить в троичной системе счисления с помощью цифр 0, 1 и 1 (заменив в его развернутой записи все цифры 2 на соответствующую разность):
K
… , где каждый из коэффициентов , …
может быть равным 0, 1 или 1. Такой способ записи чисел называется «троичной уравновешенной системой Так вот, если мы знаем, как записывается масса груза K в этой системе, то, чтобы уравновесить его на весах, нужно положить его на первую чашку весов, а гирю в 1 г поставить на вторую чашку, если , и на первую чашку, если (если , то гиря в 1 г вообще не используется); далее, гиря в 3 г ставится на вторую чашку, если , и на первую, если , и т.д. Легко понять, что, расставив гири по такому принципу, мы уравновесим груз. Прежде чем приводить пример, покажем, как преобразовать обычную троичную запись в запись в уравновешенной троичной системе. Для этого нужно для каждой двойки выполнить следующие действия: 1) заменить ее на цифру 1; 2) в соседнем слева разряде добавить 1 (если в этом разряде в результате получается 2, то для него указанные действия повторяются). Например, число 130, которое обычным образом записывается в троичной системе как 11211, во втором варианте будет иметь вид
5
4
111111 ( 3 3 3 3 3 3
3
2
1
0
130 ).
Таким образом, чтобы уравновесить груз в 130 граммов, положенный на одну из
2 Впервые такую систему описал француз- ский инженер Леон Лаланн в 1840 году. Он привел несколько первых натуральных чисел в этой системе:
1, 11, 10, 11, 111, 110, 111, 101, 100, 101, 111, …
чашек весов, нужно на ту же чашку положить гири в 81, 27 и 9 граммов, а на противоположную – гири в 243, 3 и 1 грамм. В решении задачи нам помогла уравновешенная троичная система счисления. В заключение заметим, что «самый реальный» пример использования отрицательных цифр – это электронно-вычислительные машины и «Сетунь 70», разработанные, соответственно, в 1960 и 1970 году в Московском государственном университете имени М.В.Ломоносова под руководством Николая Петровича Брусенцова (1925–2014). Их устройство и работа были основаны на уравновешенной троичной системе счисления с цифрами 1, 0 и 1. [5]
Еще об уравновешенной троичной системы счисления Дональд Кнут, автор всемирно известной серии книг, посвященной основным алгоритмам и методам вычислительной математики, в книге [6, стр. 230–231] приводит другой метод Он состоит в следующем. 1. К троичному числу прибавляется число из одних единиц. Например, для :
- Из полученной суммы вычитается (поразрядно) число из одних единиц, использовавшееся при сложении (каждая цифра уменьшаемого уменьшается на 1):
3 Впервые на связь задачи о наборе гирь и уравновешенной троичной системы указал Люка в книге «Математические развлечения» [4]. Правда, ученый не описал, как решить задачу для конкретного значения веса Сетунь – название речки, протекающей неподалеку от Ученый называет уравновешенную троичную систему «быть может, самой изящной из всех систем счисления».
15
ИЗ
ИСТОРИИ
Результат совпадает с полученным в нашей статье.
Упражнения
- Запишите в уравновешенной системе троичные числа: а) 210; б) 1202. 2. Запишите в уравновешенной троичной системе десятичные числа: а) 17; б) 53.
Свойства уравновешенной троичной системы счисления Уравновешенная троичная система счисления обладает многими весьма привлекательными свойствами. Во-первых, она дает возможность единообразно выражать как положительные, так и отрицательные числа (как отмечалось выше, при использовании двоичной системы отрицательные числа в компьютере представляются в так называемом «дополнительном коде»). В ней знак числа определяется первым символом в записи числа в этой системе: если он равен 1, то число положительное, а если 1 (1), то отрицательное. Очень просто перейти к противоположному числу, заменив 1 на 1 (1) и наоборот. В самом деле:
8 10
.
Это значит, что сравнивать любые два числа можно как в десятичной системе, сравнивая цифры слева направо. Для округления вещественного троичного числа до ближайшего целого достаточно отбросить его дробную часть. Это свойство также достаточно очевидно, поскольку самая большая возможная положительная дробная часть 0,111… представляет сумму 1 3 1 9 1 27 …, которая всегда меньше 1 2. Арифметические операции в троичной симметричной системе практически не сложнее двоичных, а если учесть, что в случае чисел со знаком двоичная арифметика использует искусственные коды, то окажется, что троичная даже проще. Операция сложения всякой цифры с нулем
НАУКИ
дает в результате эту же цифру. Сложение 1 с 1 дает ноль. И только сумма двух 1 или двух 1 формируется путем переноса в следующий разряд цифры того же знака, что и слагаемые, и установки в текущем разряде цифры противоположного знака. Полностью таблица сложения, которой будем пользоваться для обычного сложения чисел «столбиком», имеет вид
Примечание. Запись 11 означает, что результат равен 1 и еще 1 переносится в следующий разряд, запись 11 – что результат равен 1 и еще 1 переносится в следующий разряд.
Сложим в уравновешенной троичной системе числа 412 и 181:
412 10
120021 3
1110111 3
181 10
20201 3
111101 3
Легко проверить, что
.
Упражнение 3. Найдите в уравновешенной троичной системе сумму чисел:
а) 10111 и 1101; б) 111011 и 11011. Результаты представьте в десятичной системе.
Столь же просто производится вычитание: для этого достаточно изменить знак вычитаемого на противоположный и сложить число с уменьшаемым. Конечно, можно проводить и «непосредственное» вычитание. Для этого удобно составить таблицу вычитания. Обсудим ее, поскольку при составлении такой таблицы получается ряд интересных результатов. Для следующих случаев ничего необычного нет: 1) 0 0 0; 2) 1 0 1; 3) 1 1 0; 4) 0 1 1 (это следует из правил алгебры и из таблицы сложения, приведенной выше); 5) 1 – 1 0 (по тем же причинам).