Длиннопост о том, как русские крестьяне придумали двоичный код.
Русские крестьяне не знали таблицу умножения. Не все они были неграмотны: некоторых отпускали "на оброк": они принимались за торговлю, вели учётные книги... А знаете, как они перемножали многозначные числа? Подчеркну - быстро и БЕЗ ТАБЛИЦЫ УМНОЖЕНИЯ. Это шедеврально! Единственное, что им нужно было уметь - удваивать число и делить четное число пополам. Ну и складывать.
Давайте рассмотрим пример: пусть нужно умножить 109 на 1234. Рисуем две колонки, в верхней строке пишем наши числа (см. рисунок). Затем одно чисел (пусть 109) начинаем делить пополам, а второе (1234) - удваивать. Если число не делится пополам, лишнюю единичку будем просто отбрасывать. Так 109 пополам не делится, отбросим единичку - и теперь делим. Это даст 54. Затем снова делим пополам, получим 27. Снова отбрасываем единичку, делим - получаем 13. Ну, потом получим 6, 3, 1. Все эти числа мы записали в левую колонку (см. рисунок). Второе число просто удваиваем и вписываем в правую колонку.
Получили таблицу. А теперь вычеркнем из таблицы те строки, где в ЛЕВОЙ колонке стоят чётные числа - там где 54 и 6. Если сложить невычеркнутые числа в ПРАВОЙ колонке, получится в точности произведение 109*1234=134506. На рисунке мы выделили числа, которые надо складывать, красным.
На закуску - почему же это работает? И ответ также шедевральный. Процедура в левой колонке на самом деле - получение двоичного кода из числа 109. Если 109 записать в двоичной системе, получится 1101101. Мы подписали двоичный код сбоку слева. Сравните последовательность 1101101 с левой колонкой: там, где мы в левой колонке получали четные числа - и потом вычеркивали соответствующие строки, помните? - там в двоичном коде стоят нолики, а там, где числа были нечетные - в двоичной записи стоят единички.
Кто забыл - двоичная запись 1101101 означает, что 109 можно разбить на сумму степеней двойки (смотри внизу на рисунке): 109 - это два в шестой степени плюс два в пятой, плюс два в третьей, плюс два во второй степени, плюс два в нулевой. Заметьте, что некоторые степени двойки не входят в эту сумму - как раз те, где в двоичной записи стоят нолики.
Но значит и умножать 1234 можно не прямо на 109, а на каждое из слагаемых, на которые мы его разбили, точнее, на которые разбивает 109 двоичная система. Выделенные красным числа в правой колонке - это просто результат умножения 1234 на нужные степени двойки: первая строчка - когда 1234 умножили на 2 в нулевой степени, вторая - на 2 в первой степени и т.д.
Итак, мы разбили 109 на степени двойки, умножили 1234 на каждое из этих слагаемых - и сложили результат.
Откуда я это знаю? А в книге Якова Перельмана когда-то видала про упоминание этого способа. А бедные второклассники корячатся, таблицу умножения зубрят, в столбик умножают! Скажите им, чтоб не мучились! Но какую ж башку на плечах надо иметь, чтоб таблицу умножения не знать - и такое придумать??? Вас ещё удивляет, что русские первые полетели в космос?