воскресенье, 19 января 2014 г.

Считаем до 1000... на пальцах

Как показано в предыдущих статьях, можно вести счет и запись чисел не только привычными всем десятками, но и "однннадцатками" (Всемирный заговор девятипалых), пятерками или шестерками (До скольки можно посчитать на пальцах?). Иными словами, помимо привычной нам десятичной системы счисления, где счет идет на десятки, существуют и другие системы счисления, где в качестве основания выбрано не десять, а другое число.

При этом число, выбранное в качестве основания системы счисления, определяет, сколько разных значений может принимать один разряд числа, тем самым задавая вес разряда в данной системе счисления.

Вот несколько примеров:

12311 = 1*11*11 + 2*11 + 3*1 = 146
12310 = 1*10*10 + 2*10 + 3*1 = 123
1236 =  1* 6* 6 + 2* 6 + 3*1 =  51
1235 =  1* 5* 5 + 2* 5 + 3*1 =  38

Чем больше разных значений может принимать один разряд в системе счисления, тем больше вес каждого разряда (исключая младший). Младший разряд - разряд единиц, и его вес всегда равен единице. Вес второго справа разряда равен основанию системы счисления. Для десятичной системы это 10, для одиннадцатеричной - 11, для шестиричной - 6 и т.д. Поэтому цифра 2 во втором разряде в примерах выше обозначает, соответственно, числа двадцать два (2*11), двадцать (2*10), двенадцать (2*6) и десять (2*5).

Вес третьего разряда справа во столько же раз больше веса второго разряда, во сколько вес второго разряда больше веса первого разряда. То есть, чтобы узнать вес разряда, нужно умножить вес предыдущего разряда на основание системы счисления. Для десятичной системы вес третьего справа разряда - 100, для одиннадцатеричной - 121, для шестиричной - 36 и т.д.

Общая формула для получения значения трехзначного числа, записанного в системе счисления с основанием b (от слова base - основание), выглядит так:

n3n2n1 = n3*b*b + n2*b + n1*1

или

n3n2n1 = n3*b2 + n2*b1 + n1*b0

Эту формулу можно распространить на число с любым количеством разрядов, при этом вес любого разряда будет равен основанию системы счисления в степени (номер разряда - 1):

nk...n3n2n1 = nk*bk-1 + ... + n3*b2 + n2*b1 + n1*b0            [1]

Чем больше значений может быть представлено в одном разряде в системе счисления, тем больше знаков (цифр) требуется для записи чисел в этой системе счисления. И наоборот: чем меньше разных значений может быть представлено в одном разряде - тем меньше нужно разных цифр. В десятичной системе счисления используются десять цифр от 0 до 9. В шестнадцатеричной - шестнадцать цифр от 0 до F, где цифра A обозначает число 10, B - 11, C - 12, D - 13, E - 14 и F - 15. А вот в двоичной системе счисления используются только две цифры: 0 и 1.

В чем разница между числом и цифрой? Цифры - это графические знаки, при помощи которых мы записываем числа. Каждая цифра сама по себе обозначает однозначное число. Трехзначное, или трехразрядное, число записывается тремя цифрами. Неформально, разница между числом и цифрой такая же, как между словом и буквой.

Две различные цифры - это минимальный набор цифр, достаточный для записи любого числа. Этим минимализмом двоичная система счисления и интересна. Познакомимся с ней поближе. Для начала, давайте посчитаем до пяти в двоичной системе:

  0 ноль
  1 один
 10 два
 11 три
100 четыре
101 пять

Как и в любой системе счисления, когда значение в некотором разряде числа достигает максимально возможного, прибавление к числу единицы обнуляет данный разряд и увеличивает на 1 разряд слева. А поскольку максимально возможное значение двоичного разряда - это единица, то смена единицы нулем происходит при переходе к каждому четному числу. Двоичная система элементарна!

А можно ли посчитать в двоичной системе на пальцах? Легко! Каждый палец представляет собой один двоичный разряд: согнут - 0, разогнут - 1. Итак,

До скольки же можно досчитать на пальцах одной руки, пользуясь двоичным представлением чисел? Пять разогнутых пальцев соответствуют двоичному числу 111112, где каждый палец-разряд имеет свой вес. Воспользуемся формулой [1] для представления числа 111112 в виде многочлена, коэффициенты которого - значения соответствующих разрядов числа, а переменная - основание системы счисления:

111112 = 1*24 + 1*23 + 1*22 + 1*2 + 1 = 16 + 8 + 4 + 2 + 1 = 31

Итак, при помощи пяти пальцев, выступающих в роли двоичных разрядов, можно досчитать до 31, представив, в процессе счета, 32 разных значения от 0 до 31.

Заметим, что 32 = 25. В самом деле, количество разных значений, которые можно представить в n двоичных разрядах, равно 2n. А максимальное число, которое можно представить в n двоичных разрядах, равно 2n - 1. Отсюда один шаг до ответа на вопрос, до скольки можно посчитать на пальцах двух рук:

210 - 1 = 1024 - 1 = 1023

Ого! Используя 10 пальцев как разряды двоичного счетного устройства, мы можем досчитать до одной тысячи двадцати трех!

Давайте обобщим наблюдение, сделанное для двоичной системы счисления, на систему счисления с произвольным основанием. В n разрядах системы счисления с основанием b можно записать bn различных чисел, от 0 до максимального bn - 1.

Для десятичной системы это означает:

   9 = 101 - 1
  99 = 102 - 1
 999 = 103 - 1

и т.д.

А теперь сделаем несколько замечаний по материалам трех статей, затрагивающих счет на пальцах. В статье Всемирный заговор девятипалых пальцы двух рук использовались как один разряд одиннадцатеричного счетного устройства:

Цифра A на картинке представляет число десять.

В статье До скольки можно посчитать на пальцах? пальцы двух рук использовались как двухразрядное шестиричное счетное устройство. Каждый разряд представлен пятью пальцами:

И, наконец, в настоящей статье пальцы двух рук используются как десятиразрядное двоичное счетное устройство. Каждый разряд представлен одним пальцем:

Кстати, если заставить каждый палец работать как троичный разряд (согнут к ладони - 0, согнут в фаланге - 1, и распрямлен - 2), то до скольки можно посчитать при помощи десяти пальцев?

Комментариев нет:

Отправить комментарий