Найти тему
Дмитрий Новиков

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

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

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

Что значит ҂ ѕ҃т҃ѯ҃? Буква зело ѕ҃ с приписанной к ней слева снизу маленькой диагональю с двумя чёрточками ҂ обозначала 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 × 100 + 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

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

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

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

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

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