Введение в двоичную систему счисления

23 November 2018

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

«В лѣто ҂ ѕ҃т҃ѯ҃, индикта е҃і҃ день, наченшю Михаилу царствовати, начася прозывати Руска земля. О семъ бо увидѣхом, яко при семь цари приходиша Русь на Царьгородъ, яко же пишется в лѣтописаньи гречьстѣмь. Тѣм же отселе почнем и числа положимъ»
«В лѣто ҂ ѕ҃т҃ѯ҃, индикта е҃і҃ день, наченшю Михаилу царствовати, начася прозывати Руска земля. О семъ бо увидѣхом, яко при семь цари приходиша Русь на Царьгородъ, яко же пишется в лѣтописаньи гречьстѣмь. Тѣм же отселе почнем и числа положимъ»

Что значит ҂ ѕ҃т҃ѯ҃? Буква зело ѕ҃ с приписанной к ней слева снизу маленькой диагональю с двумя чёрточками ҂ обозначала 6000. Буква твердо т҃ обозначала 300. Буква кси ѯ҃ обозначала 60. Да ещё над каждой такой буквой стоял специальный знак титло ҃ , чтобы показать, что это не столько буква, сколько цифра.

Цифры, при помощи которых записываются числа, были и бывают разными. И способы записи чисел тоже бывают различны. В способе, которым пользуемся мы в повседневной жизни, одна и та же цифра может обозначать разное число. Цифра 7, записанная одна, обозначает и число семь, а цифра 7, записанная перед цифрой 0, обозначает число семьдесят — 70. А в Древней Руси для обозначения числа семь использовалась цифра з҃ , для обозначения числа семьдесят — цифра о҃, а для обозначения числа семьсот — цифра ѱ҃. Я называю буквы цифрами так же, как мы буквы латинского алфавита I, V, X, L, C, D, M называем римскими цифрами. Да и совокупность цифр, используемых для записи чисел, называется алфавитом системы счисления, а сама система счисления — это и есть способ записи чисел; и то, что у нас значение цифры зависит от позиции, то есть её места, в записи числа, делает нашу систему счисления позиционной.

Удивительно, что в ней всего лишь при помощи десяти цифр можно записывать бесконечное множество чисел. Всего лишь при помощи четырёх позиций в записи можно обозначить столько тысяч лет, что хватит не на одну «мировую» историю. Сейчас 2018 год от рождества Христова. Первая двойка в этой записи обозначает количество тысяч, ноль обозначает отсутствие сотен, единица обозначает количество десятков, и только цифра восемь обозначает число восемь.

2018 = 2000 + 0 (сотен) + 10 + 8 = 2 × 1000 + 0 × 100 + 1 × 10 + 8 × 1

1 — десять в нулевой степени
10 — десять в первой степени
100 — десять во второй степени
1000 — десять в третьей степени

Десять цифр в алфавите, каждая цифра умножена на десять в определённой степени. Очевидно, что система счисления, которой мы пользуемся, недаром называется десятичной.

В древнерусских летописах годы считали от сотворения мира, но тех же четырёх разрядов хватит, чтобы записать год упоминания Руси:

10 в нулевой степени образуют разряд 1

10 в первой степени образуют разряд 10

10 во второй степени образуют разряд 100

10 в третьей степени образуют разряд 1000

6360 = 6000 + 300 + 60 + 0 = 6 × 1000 + 3 × 300 + 6 × 10 + 0 × 1

Степени десятки присутствуют в каждой развёрнутой записи числа. Степени десятки определяют значение цифры в том или ином разряде, то есть в той позиции, в которой цифра записана. И внимательный читатель может заметить, что разряды можно было бы пронумеровать, начиная с нуля, справа налево; тогда номер разряда обозначает степень, в которую нужно возвести число десять (основание нашей системы счисления), чтобы получить значение цифры.

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

2 в 0-ой степени образуют разряд 1

2 в 1-ой степени образуют разряд 2

2 во 2-ой степени образуют разряд 4

2 в 3-ей степени образуют разряд 8

2 в 4-ой степени образуют разряд 16

2 в 5-ой степени образуют разряд 32

2 в 6-ой степени образуют разряд 64

2 в 7-ой степени образуют разряд 128

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

7 = 4 + 2 + 1 = 1 (четвёрка) + 1 (двойка) + 1 (единица)

7 (семь в десятичной системе счисления) = 111 (семь в двоичной системе счисления)

10 = 8 + 2 = 1 (восьмёрка) + 0 (четвёрка) + 1 (двойка) + 0 (единиц)

10 (десять в десятичной системе счисления) = 1010 (десять в двоичной системе счисления)

Какое самое больше число можно записать при помощи восьми двоичных разрядов, которые, как мы помним, нумеруются по порядку от нуля до семи справа налево?

128 + 64 + 32 + 16 + 8 + 4 + 2 + 1 = 255

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

А если бы мы брали разряды через один?

128 + 32 + 8 + 2 = 170

Единица в двоичной системе счисления обозначает, что этот разряд взят, а ноль обозначает, что этот разряд отсутствует, тогда запись числа сто семьдесят в двоичной системе счисления выглядит как 10101010.

А смогли бы вы разобрать числа, если бы я, рассказывая о себе, записал бы их в двоичной системе счисления?

«Сейчас я работаю в 111 школе города Ноябрьска, а до этого работал в 1000110 школе города Тюмени, где когда-то закончил 11011 школу»

В какой школе я сейчас работаю?

111 = 1 (четвёрка) + 1 (двойка) + 1 (единица)

В какой школе я работал раньше?

1000110 = 1 (шестьдесят четыре) + 0 (тридцать два) + 0 (шестнадцать) + 0 (восьмёрок) + 1 (четвёрка) + 1 (двойка) + 0 (единиц)

Какую школу я закончил?

11011 = 1 (шестнадцать) + 1 (восьмёрка) + 0 (четвёрок) + 1 (двойка) + 1 (единица)

В школе я закончил одиннадцать классов. Смогли бы вы записать это число в двоичной системе счисления?

11 = 8 + 2 + 1

Удивительно, что именно двоичная система счисления используется для кодирования данных в современных компьютерах. Однако об этом лучше написать отдельный пост ;-)

Дополнительное чтение

Кириллическая система счисления

Римские цифры

Двоичная система счисления