Кто придумал двоичную систему. История возникновения двоичной системы счисления

Энциклопедичный YouTube

    1 / 5

    ✪ Зачем нужны системы счисления: двоичная и другие

    ✪ Как запоминает и считает компьютер. Системы счисления и кодирования данных

    ✪ Системы счисления: Сложение, вычитание и умножение двоичных чисел. Центр онлайн-обучения «Фоксфорд»

    ✪ Основы систем счисления

    ✪ Системы счисления. Двоичная система счисления - 9 класс

    Субтитры

Двоичная запись чисел

В двоичной системе счисления числа записываются с помощью двух символов (0 и 1 ). Чтобы не путать, в какой системе счисления записано число, его снабжают указателем справа внизу. Например, число в десятичной системе 5 10 , в двоичной 101 2 . Иногда двоичное число обозначают префиксом 0b или символом & (амперсанд) , например 0b101 или соответственно &101 .

В двоичной системе счисления (как и в других системах счисления, кроме десятичной) знаки читаются по одному. Например, число 101 2 произносится «один ноль один».

Натуральные числа

Натуральное число, записываемое в двоичной системе счисления как (a n − 1 a n − 2 … a 1 a 0) 2 {\displaystyle (a_{n-1}a_{n-2}\dots a_{1}a_{0})_{2}} , имеет значение:

(a n − 1 a n − 2 … a 1 a 0) 2 = ∑ k = 0 n − 1 a k 2 k , {\displaystyle (a_{n-1}a_{n-2}\dots a_{1}a_{0})_{2}=\sum _{k=0}^{n-1}a_{k}2^{k},}

Отрицательные числа

Отрицательные двоичные числа обозначаются так же как и десятичные: знаком «−» перед числом. А именно, отрицательное целое число, записываемое в двоичной системе счисления (− a n − 1 a n − 2 … a 1 a 0) 2 {\displaystyle (-a_{n-1}a_{n-2}\dots a_{1}a_{0})_{2}} , имеет величину:

(− a n − 1 a n − 2 … a 1 a 0) 2 = − ∑ k = 0 n − 1 a k 2 k . {\displaystyle (-a_{n-1}a_{n-2}\dots a_{1}a_{0})_{2}=-\sum _{k=0}^{n-1}a_{k}2^{k}.}

дополнительном коде .

Дробные числа

Дробное число, записываемое в двоичной системе счисления как (a n − 1 a n − 2 … a 1 a 0 , a − 1 a − 2 … a − (m − 1) a − m) 2 {\displaystyle (a_{n-1}a_{n-2}\dots a_{1}a_{0},a_{-1}a_{-2}\dots a_{-(m-1)}a_{-m})_{2}} , имеет величину:

(a n − 1 a n − 2 … a 1 a 0 , a − 1 a − 2 … a − (m − 1) a − m) 2 = ∑ k = − m n − 1 a k 2 k , {\displaystyle (a_{n-1}a_{n-2}\dots a_{1}a_{0},a_{-1}a_{-2}\dots a_{-(m-1)}a_{-m})_{2}=\sum _{k=-m}^{n-1}a_{k}2^{k},}

Сложение, вычитание и умножение двоичных чисел

Таблица сложения

Пример сложения «столбиком» (14 10 + 5 10 = 19 10 или 1110 2 + 101 2 = 10011 2):

Пример умножения «столбиком» (14 10 * 5 10 = 70 10 или 1110 2 * 101 2 = 1000110 2):

× 1 1 1 0
1 0 1
+ 1 1 1 0
1 1 1 0
1 0 0 0 1 1 0

Преобразование чисел

Для преобразования из двоичной системы в десятичную используют следующую таблицу степеней основания 2:

1024 512 256 128 64 32 16 8 4 2 1

Начиная с цифры 1 все цифры умножаются на два. Точка, которая стоит после 1, называется двоичной точкой.

Преобразование двоичных чисел в десятичные

Допустим, дано двоичное число 110001 2 . Для перевода в десятичное запишите его как сумму по разрядам следующим образом:

1 * 2 5 + 1 * 2 4 + 0 * 2 3 + 0 * 2 2 + 0 * 2 1 + 1 * 2 0 = 49

То же самое чуть иначе:

1 * 32 + 1 * 16 + 0 * 8 + 0 * 4 + 0 * 2 + 1 * 1 = 49

Можно записать это в виде таблицы следующим образом:

512 256 128 64 32 16 8 4 2 1
1 1 0 0 0 1
+32 +16 +0 +0 +0 +1

Двигайтесь справа налево. Под каждой двоичной единицей напишите её эквивалент в строчке ниже. Сложите получившиеся десятичные числа. Таким образом, двоичное число 110001 2 равнозначно десятичному 49 10 .

Преобразование дробных двоичных чисел в десятичные

Нужно перевести число 1011010,101 2 в десятичную систему. Запишем это число следующим образом:

1 * 2 6 + 0 * 2 5 + 1 * 2 4 + 1 * 2 3 + 0 * 2 2 + 1 * 2 1 + 0 * 2 0 + 1 * 2 -1 + 0 * 2 -2 + 1 * 2 -3 = 90,625

То же самое чуть иначе:

1 * 64 + 0 * 32 + 1 * 16 + 1 * 8 + 0 * 4 + 1 * 2 + 0 * 1 + 1 * 0,5 + 0 * 0,25 + 1 * 0,125 = 90,625

Или по таблице:

64 32 16 8 4 2 1 0.5 0.25 0.125
1 0 1 1 0 1 0 , 1 0 1
+64 +0 +16 +8 +0 +2 +0 +0.5 +0 +0.125

Преобразование методом Горнера

Для того, чтобы преобразовывать числа из двоичной в десятичную систему данным методом, надо суммировать цифры слева направо, умножая ранее полученный результат на основу системы (в данном случае 2). Методом Горнера обычно переводят из двоичной в десятичную систему. Обратная операция затруднительна, т.к. требует навыков сложения и умножения в двоичной системе счисления.

Например, двоичное число 1011011 2 переводится в десятичную систему так:

0*2 + 1 = 1
1*2 + 0 = 2
2*2 + 1 = 5
5*2 + 1 = 11
11*2 + 0 = 22
22*2 + 1 = 45
45*2 + 1 = 91

То есть в десятичной системе это число будет записано как 91.

Перевод дробной части чисел методом Горнера

Цифры берутся из числа справа налево и делятся на основу системы счисления (2).

Например 0,1101 2

(0 + 1 )/2 = 0,5
(0,5 + 0 )/2 = 0,25
(0,25 + 1 )/2 = 0,625
(0,625 + 1 )/2 = 0,8125

Ответ: 0,1101 2 = 0,8125 10

Преобразование десятичных чисел в двоичные

Допустим, нам нужно перевести число 19 в двоичное. Вы можете воспользоваться следующей процедурой:

19 /2 = 9 с остатком 1
9 /2 = 4 c остатком 1
4 /2 = 2 без остатка 0
2 /2 = 1 без остатка 0
1 /2 = 0 с остатком 1

Итак, мы делим каждое частное на 2 и записываем остаток в конец двоичной записи. Продолжаем деление до тех пор, пока в частном не будет 0. Результат записываем справа налево. То есть нижняя цифра (1) будет самой левой и т.д. В результате получаем число 19 в двоичной записи: 10011 .

Преобразование дробных десятичных чисел в двоичные

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

  • Дробь умножается на основание двоичной системы счисления (2);
  • В полученном произведении выделяется целая часть, которая принимается в качестве старшего разряда числа в двоичной системе счисления;
  • Алгоритм завершается, если дробная часть полученного произведения равна нулю или если достигнута требуемая точность вычислений. В противном случае вычисления продолжаются над дробной частью произведения.

Пример: Требуется перевести дробное десятичное число 206,116 в дробное двоичное число.

Перевод целой части дает 206 10 =11001110 2 по ранее описанным алгоритмам. Дробную часть 0,116 умножаем на основание 2, занося целые части произведения в разряды после запятой искомого дробного двоичного числа:

0,116 2 = 0 ,232
0,232 2 = 0 ,464
0,464 2 = 0 ,928
0,928 2 = 1 ,856
0,856 2 = 1 ,712
0,712 2 = 1 ,424
0,424 2 = 0 ,848
0,848 2 = 1 ,696
0,696 2 = 1 ,392
0,392 2 = 0 ,784
и т. д.

Таким образом 0,116 10 ≈ 0,0001110110 2

Получим: 206,116 10 ≈ 11001110,0001110110 2

Применения

В цифровых устройствах

Двоичная система используется в цифровых устройствах , поскольку является наиболее простой и соответствует требованиям:

  • Чем меньше значений существует в системе, тем проще изготовить отдельные элементы, оперирующие этими значениями. В частности, две цифры двоичной системы счисления могут быть легко представлены многими физическими явлениями: есть ток (ток больше пороговой величины) - нет тока (ток меньше пороговой величины), индукция магнитного поля больше пороговой величины или нет (индукция магнитного поля меньше пороговой величины) и т. д.
  • Чем меньше количество состояний у элемента, тем выше помехоустойчивость и тем быстрее он может работать. Например, чтобы закодировать три состояния через величину напряжения, тока или индукции магнитного поля, потребуется ввести два пороговых значения и два компаратора , что не будет способствовать помехоустойчивости и надёжности хранения информации. [ ]
  • Двоичная арифметика является довольно простой. Простыми являются таблицы сложения и умножения - основных действий над числами.

В цифровой электронике одному двоичному разряду в двоичной системе счисления соответствует (очевидно) один двоичный разряд двоичного регистра , то есть двоичный триггер с двумя состояниями (0,1).

В вычислительной технике широко используется запись отрицательных двоичных чисел в дополнительном коде . Например, число −5 10 может быть записано как −101 2 но в 32-битном компьютере будет храниться как 2 .

В английской системе мер

При указании линейных размеров в дюймах по традиции используют двоичные дроби, а не десятичные, например: 5¾″, 7 15 / 16 ″, 3 11 / 32 ″ и т. д.

Обобщения

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

История

  • Полный набор из 8 триграмм и 64 гексаграмм , аналог 3-битных и 6-битных цифр, был известен в древнем Китае в классических текстах книги Перемен . Порядок гексаграмм в книге Перемен , расположенных в соответствии со значениями соответствующих двоичных цифр (от 0 до 63), и метод их получения был разработан китайским учёным и философом Шао Юн в XI веке . Однако нет доказательств, свидетельствующих о том, что Шао Юн понимал правила двоичной арифметики, располагая двухсимвольные кортежи в лексикографическом порядке .
  • Наборы, представляющие собой комбинации двоичных цифр, использовались африканцами в традиционных гаданиях (таких как Ифа) наряду со средневековой геомантией .
  • В 1854 году английский математик Джордж Буль опубликовал знаковую работу, описывающую алгебраические системы применительно к логике , которая в настоящее время известна как Булева алгебра или алгебра логики . Его логическому исчислению было суждено сыграть важную роль в разработке современных цифровых электронных схем.
  • В 1937 году Клод Шеннон представил к защите кандидатскую диссертацию Символический анализ релейных и переключательных схем в , в которой булева алгебра и двоичная арифметика были использованы применительно к электронным реле и переключателям. На диссертации Шеннона по существу основана вся современная цифровая техника .
  • В ноябре 1937 года Джордж Штибиц , впоследствии работавший в Bell Labs , создал на базе реле компьютер «Model K» (от англ. «K itchen», кухня, где производилась сборка), который выполнял двоичное сложение. В конце 1938 года Bell Labs развернула исследовательскую программу во главе со Штибицом. Созданный под его руководством компьютер, завершённый 8 января 1940 года, умел выполнять операции с комплексными числами . Во время демонстрации на конференции American Mathematical Society в Дартмутском колледже 11 сентября 1940 года Штибиц продемонстрировал возможность посылки команд удалённому калькулятору комплексных чисел по телефонной линии с использованием телетайпа . Это была первая попытка использования удалённой вычислительной машины посредством телефонной линии. Среди участников конференции, бывших свидетелями демонстрации, были

Для того чтобы в общих чертах понять, как думает компьютер, начнём с самого начала. Компьютер, по сути, – это много всякой электроники, собранной вместе в правильном порядке. А электроника (до того, как к ней добавили программу) понимает только одно: включена она или выключена, есть сигнал или нет сигнала.

Обычно «есть сигнал» обозначают единицей, а «нет сигнала» – нулём: отсюда и выражение, что «компьютер говорит на языке нулей и единиц».

Этот язык нулей и единиц называют ещё двоичной системой счисления – потому что в ней всего две цифры. Наша привычная система счисления – десятичная, в ней десять цифр (0, 1, 2, 3, 4, 5, 6, 7, 8, 9). Но есть и множество других – восьмеричная, пятеричная, одиннадцатиричная и какая угодно ещё.

У нас с вами нет цифры «десять», правда? Число 10 состоит из двух цифр – 1 и 0.

Точно так же в пятеричной системе счисления не будет цифры «5», только 0, 1, 2, 3 и 4.

Посчитаем в пятеричной системе: 0, 1, 2, 3, 4, 10 , 11, 12, 13, 14, 20 , 21, 22, 23, 24, 30 , 31, 32, 33, 34, 40 , 41, 42, 43, 44, 100 (!!!), 101, 102 и так далее. Можно сказать, что как система счисления называется, такой цифры в ней и нет. В нашей десятичной нет цифры «10», в пятеричной нет цифры «5» (и всех, которые после неё), в восьмеричной – «8» и так далее.

А в шестнадцатиричной «16», например, есть! Поэтому нам шестнадцатиричную систему понять ещё сложнее. Давайте посчитаем в шестнадцатиричной:

0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F, 10 , 11, 12, 13, 14, 15, 16, 17, 18, 19, 1A, 1B, 1C, 1D, 1E, 1F, 20 , 21, 22…97, 98, 99, 9A, 9B, 9C, 9D, 9E, 9F, A0 , A1, A2… F7, F8, F9, FA, FB, FC, FD, FE, FF, 100 , 101, 102, 103, 104, 105, 106, 107, 108, 109, 10A, 10B, 10C и так далее.

Двоичная система счисления, впрочем, тоже выглядит странновато для непривычного взгляда:

0, 1, 10 , 11, 100 , 101, 110, 111, 1000 , 1001, 1010, 1011, 1100, 1101, 1110, 1111, 10000 , 10001…

Вот примерно такими числами и думает компьютер где-то внутри себя. Но человеку такими числами думать совершенно неудобно, поэтому мы преобразуем числа из двоичной в более удобную систему счисления.

В компьютерных программах часто используют восьмеричную и шестнадцатиричную системы: компьютеру легко их понять (потому что 8=2*2*2, 16=2*2*2*2, а с двоичной системой компьютер знаком изначально), а для людей это удобно, потому что поближе к привычной десятичной.

Как же переводить числа из одной системы счисления в другую? Чтобы понять принцип, будем, как мы с вами любим, разбираться на конфетах.

И на конфетах мы с вами будем переводить число 33 в восьмеричную систему счисления. Мы решим, что единицы – это сами конфеты, а десятки – это коробки, в каждой из которых лежит по десять конфет. Вот и получится, что 33 – это 3 коробки по 10 конфет и ещё 3 конфеты где-то сбоку.

Но мы переводим наше конфетное богатство в восьмеричную систему счисления, а это значит, что нам надо вытряхнуть все конфеты из коробочек по 10, сложить в коробочки по 8 и посмотреть, что из этого выйдет.

Из 33 получится 4 полных восьмеричных коробочки и 1 конфета останется сама по себе, так как 33/8=4 (ост. 1). То есть 33=8*4 +1 – так в восьмеричной системе счисления получается число 41 .

33 в десятичной – это 41 в восьмеричной. Это одно и то же число, просто разложенное по разным коробочкам, переведённое в разное основание. Количество конфет не поменялось, мы просто считали их по-разному!

Двоичная система, как мы уже выяснили, более странная и непривычная для человеческого взгляда. Давайте попробуем перевести 33 в двоичную – получится аж 16 коробочек по 2! И что же делать? Писать 16 как-то странно, помня о том, что в двоичной системе есть только ноль и единица, а шестёрки, которая нам нужна для шестнадцати, совершенно точно нет!

Посмотрим на нашу десятичную систему. В ней мы считаем десятки – 10, 20, 30, 40, 50, 60, 70, 80, 90 – а когда у нас набирается десять десятков, мы достаём большую коробку – 100.

У нас 100 – это 10*10, 1000 – 10*10*10, 10 000 – 10*10*10*10 и так далее. Для других систем счисления это работает точно так же! В восьмеричной системе 100=8*8, 1000=8*8*8; в двоичной 100=2*2, а 1000=2*2*2; а в шестнадцатиричной (есть и такая, помните?) 100=16*16, 1000=16*16*16.

Здесь нам пригодятся степени. Если вы их ещё не проходили в школе, не пугайтесь, степени – это очень просто. Число в степени – это число, сколько-то раз умноженное на само себя. То есть 5 3 =5*5*5 (пять в третьей степени – это пять , три раза умноженная сама на себя: 5*5*5), или 8 5 =8*8*8*8*8 (восемь в пятой степени – это восемь , пять раз умноженная на саму себя: 8*8*8*8*8).

Если мы вспомним про наши 10 000=10*10*10*10 в десятичной и 1000=8*8*8 в восьмеричной, то можно легко заметить, что сколько нулей, столько раз и умножаем на само себя. Другими словами, количество символов в числе минус один – это степень, в которую надо возвести основание. В числе 1000 у нас четыре символа, значит умножать надо 4–1 , то есть 3 раза. Если основание 10, то тысяча – это 10, три раза умноженная сама на себя: 10*10*10. Если основание 8, то тысяча – это 8, три раза умноженная сама на себя: 8*8*8.

Обо всём этом мы заговорили, пытаясь перевести 33 в двоичную систему. Просто так поделить это число на коробочки по 2 оказалось затруднительным. Но если вспомнить про наши сотни-тысячи, можно задуматься: а ведь в двоичной 100=2*2, 1000=2*2*2, 10 000=2*2*2*2 и так далее.

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

Теперь, глядя на табличку, мы видим, что 33=2 5 +1, то есть 33=2*2*2*2*2+1. Вспоминаем – сколько раз умножаем, столько будет нулей – то есть наше 2*2*2*2*2 в двоичной системе будет 100000. Не забудем оставшуюся в стороне единичку, и получится, что 33 в десятичной – это 100001 в двоичной. Правильно и красиво это записывают так:

33 10 =100001 2

Давайте (чтобы совсем хорошо понять) переведём в двоичную систему число 15.

  1. В первую очередь – смотрим в табличку.

а) Какое самое близкое к 15 число в ней? Нет, 16 не подходит, оно больше, а нам нужно самое близкое, которое меньше. Получается, что это 8, то есть 2 3 , то есть 2*2*2.

б) Восемь конфет из 15 разобрали, осталось – 15-8 – семь. Какое ближайшее число из таблички? Нет, восемь снова не подойдет, см. выше. Подойдет четыре, то есть 2 2 , то есть 2*2.

в) Четыре из семи конфет разобрали, осталось – 7-4 – три. Из таблички понимаем, что самое близкое число – 2, то есть 2 1 , то есть просто 2.

г) Три минус два – осталась 1 конфета, тут уже табличка не понадобится. В таблички такого рода можно не смотреть, когда ваш остаток меньше основания, а наша единица точно меньше двойки.

  1. Собираем всё найденное в табличке вместе: 15=2 3 + 2 2 + 2 1 + 1, оно же: 15=2*2*2 + 2*2 + 2 + 1.
  2. В двоичной системе 2*2*2=1000, 2*2=100, 2=10, помните? И у нас получается 1000+100+10+1, то есть 1111.
  3. Итак,

15 10 =1111 2

Когда просто смотришь на все эти шаги, кажется, что это просто свалка из Кучи Разных Странно Написанных Цифр . И запутаться во всём этом в первый раз – нормально. И во второй, и в третий. Просто попробуйте сделать это ещё и ещё раз – по шагам, как написано выше, и всё получится.

И наоборот это тоже работает! Например, число 11010101 2 – как из него сделать понятное десятичное? Точно так же, при помощи таблички. Пойдем с конца:

1*2 0 +0*2 1 +1*2 2 +0*2 3 +1*2 4 +0*2 5 +1*2 6 +1*2 7 =

1*1+0*2+1*4+0*8+1*16+0*32+1*64+1*128=

1+0+4+0+16+0+64+128=213

11010101 2 = 213 10

Вот примерно так компьютер понимает привычные нам числа.

Когда смотришь на это в первый раз, кажется, что это, во-первых, совершенно непостижимо, а, во-вторых, вообще не сработает. Поэтому сейчас мы с вами сделаем немножко математической магии, чтобы убедиться, что системы счисления – это такая же реальная вещь, как, например, задача «раздать пятерым детям пятнадцать печенек поровну».

Итак, возьмем пример 15+6 и решим его в разных системах счисления. Понятно, что в нашей, десятичной, получится 21. А что выйдет, например, в восьмеричной?

Переводим 15 в восьмеричную систему счисления. Первый шаг у нас при переводе в другую систему – посмотреть в табличку степеней. 8 2 – это уже 64, и в 15 оно точно уже никак не влезет, поэтому берем 8 1 – то есть просто 8. 15–8=7, оно меньше нашего основания 8, поэтому с ним мы ничего не делаем.

Итак, получилось, что 15=8 1 +7 .

В восьмеричной системе логика точно такая же, как, например, в двоичной: 8 3 – это 1000, 8 2 – это 100, 8 1 – это 10. Получилось, что:

15 10 =17 8

Напомню, наш пример был 15+6. 15 мы перевели в восьмеричную систему, как же перевести 6? Она меньше 8, нашего основания, поэтому ответ – оставить как есть. Наш пример сейчас выглядит так:

15 10 +6 10 =17 8 +6 8

Теперь мы будем складывать в восьмеричной системе счисления. Как это делается? Так же, как и в десятичной, но надо помнить, что десяток в восьмеричной системе – это восемь, а не десять, и что 8 и 9 в ней не существует.

Когда мы считаем в десятичной системе, по сути, мы делаем так:

15+6=15+5+1=20+1=21

Попробуем проделать тот же фокус в восьмеричной системе:

17 8 +6 8 =17 8 +1 8 +5 8 =20 8 +5 8 =25 8

Почему 17+1? Потому что 7+1=8, а 8 – это наш десяток! В восьмеричной системе 7+1=10, а значит, 17+1=20. Если на этом месте ваш мозг начинает бить тревогу и рассказывать, что здесь что-то не так, вернитесь в начало статьи, где мы с вами считали в разных системах счисления.

Теперь наш пример выглядит как

15 10 +6 10 =17 8 +6 8 =25 8

Переведем 25 8 обратно в нашу систему счисления. В десятичной мы бы, увидев число 25, могли сказать, что в нём две десятки и пять единиц. В восьмеричной, как вы, наверное, уже догадались, число 25 8 – это две восьмерки и пять единиц. То есть 25 8 =2*8+5=21 10 .

Итак, наш пример целиком:

15 10 +6 10 =17 8 +6 8 =25 8 =21 10

Получилось точно такое же 21, какое вышло у нас в самом начале, когда мы посчитали 15+6 привычным нам способом в десятичной системе.

Арифметические правила не меняются от того, что мы выбрали другую систему счисления.

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

Двоичная система счисления очень важна, так как именно на ее основе закодированная вся информация, которая содержится в вашем персональном компьютере. Именно по этой причине важно научиться разбираться в ней и понимать ее механизмы.

Для того, чтобы понять суть двоичной системы счисления целесообразнее всего обратиться к привычной нам десятичной системе счисления. Используемая нами ежедневно десятичная система счисления состоит из десяти символов: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9. Далее заканчиваются единицы, и начинаются десятки. При этом числа повторяются, а счет начинается заново. Двоичная система счисления построена по абсолютно аналогичному принципу, с той лишь разницей, что тут не 10 символов, а всего 2: ноль и единица.

Чтобы лучше понять рассмотрим на примере:

Итак в двоичной системе 0 равен 0 в десятичной.
1=1, и на этом количество символов заканчивается, и все начинается сначала.
2=10;
3=11;
4=100;
5=101;
6=110;
7=111 и так далее.
Легко заметить, что в двоичной системе счисления, в силу скудного количества символов, числа очень быстро становятся многозначными. По этой причине не всегда получается быстро их распознавать. Так например не очень просто сходу сказать чему в десятичной системе счисления равно двоичное число 11001010. Но для того, чтобы определить, тем не менее, что это за число, существуют вполне простые способы перевода чисел из двоичной системы в десятичную.

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

Например:
1279= 1000+200+70+9;
Можно пойти дальше и записать это число в таком виде:
1279 = 1*10 в степени 3 + 2 * 10 в степени 2 + 7 * 10 в первой + 9 * 10 в нулевой.

Тоже самое можно проделать и с нашим двоичным числом.Единственная разница будет состоять в том, что здесь основание будет не 10 а 2.
Итак 11001010 = 1*2 в седьмой+1*2 в шестой+0*2 в пятой+0*2 в 4 + 1*2 в 3+0*2 во 2 + 1*2 в первой+0 * 2 в нулевой.
Если посчитать сумму всех составляющих, то как раз и получится десятичное число.
11001010 = 128+64+0+0+8+0+2+0=202.
То есть, окончательный ответ звучит так: число 11001010 по основанию 2 равняется числу 202 по основанию 10.

Есть так же и обратный способ перевода десятичного числа в двоичное. Например, нам требуется получить из числа 77 его двоичную запись. Этого можно добиться последовательным делением на два:

77 / 2 = 38 (один остаток)
38 / 2 = 19 (ноль остаток)
19 / 2 = 9 (один остаток)
9 / 2 = 4 (один остаток)
4 / 2 = 2 (ноль остаток)
2 / 2 = 1 (ноль остаток)
1 / 2 = 0 (один остаток)

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

Двоичная система счисления сегодня используется практически во всех цифровых устройствах. Компьютеры, контроллеры и другие вычислительные устройства производят вычисления именно в двоичной системе. Цифровые устройства записи и воспроизведения звука, фото и видео хранят и обрабатывают сигналы в двоичной системе счисления. Передача информации по цифровым каналам связи также использует модель двоичной системы счисления.

Система носит такое название, потому что основанием системы является число два (2 ) или в двоичной системе 10 2 - это значит что для изображения чисел используется только две цифры "0" и "1". Двоечка записанная справа внизу от числа, здесь и далее будет обозначать основание системы счисления. Для десятичной системы основание обычно не указывают.

Ноль - 0 ;
Один - 1 ;

А что делать дальше? Все цифры кончились. Как же изобразить число два? В десятичной системе, в подобной ситуации (когда закончились цифры), мы вводили понятие десятка, здесь же мы вынуждены ввести понятие "двойка" и скажем, что два - это одна двойка и ноль единиц. А это уже можно и записать как - "10 2 ".

Итак, Два - 10 2 (одна двойка, ноль единиц)
Три - 11 2 (одна двойка, одна единица)

Четыре - 100 2 (одна четверка, ноль двоек, ноль единиц)
Пять - 101 2 (одна четверка, ноль двоек, одна единица)
Шесть - 110 2 (одна четверка, одна двойка, ноль единиц)
Семь - 111 2 (одна четверка, одна двойка, одна единица)

Возможности трех разрядов исчерпались, вводим более крупную единицу счета - восьмерку (осваиваем новый разряд).

Восемь - 1000 2 (одна восьмерка, ноль четверок, ноль двоек, ноль единиц)
Девять - 1001 2 (одна восьмерка, ноль четверок, ноль двоек, одна единица)
Десять - 1010 2 (одна восьмерка, ноль четверок, одна двойка, ноль единиц)
...
и так далее...
...

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

Рассмотрим число 1011 2 записанное в двоичной системе счисления. Про него можно сказать, что оно содержит: одну восьмерку, ноль четверок, одну двойку и одну единицу. И получить его значение через входящие в него цифры можно следующим образом.

1011 2 = 1 *8+0 *4+1 *2+1 *1, здесь и далее знак * (звездочка) означает умножение.

Но ряд чисел 8, 4, 2, 1 есть не что иное, как целые степени числа два (основания системы счисления) и поэтому можно записать:

1011 2 = 1 *2 3 +0 *2 2 +2 *2 1 +2 *2 0

Подобным образом для двоичной дроби (дробного числа) например: 0.101 2 (пять восьмых), про него можно сказать, что оно содержит: одну вторую, ноль четвертых и одну восьмую долю. И его значение можно вычислить следующим образом:

0.101 2 = 1 *(1/2) + 0 *(1/4) + 1 *(1/8)

И здесь ряд чисел 1/2; 1/4 и 1/8 есть не что иное, как целые степени числа два и мы также можем записать:

0.101 2 = 1 *2 -1 + 0 *2 -2 + 1 *2 -3

Для смешанного числа 110.101 аналогичным образом можем записать:

110.101 = 1 *2 2 +1 *2 1 +0 *2 0 +1 *2 -1 +0 *2 -2 +1 *2 -3

Давайте пронумеруем разряды целой части двоичного числа, справа налево, как 0,1,2…n (нумерация начинается с нуля!). А разряды дробной части, слева направо, как -1,-2,-3…-m. Тогда значение некоторого двоичного числа может быть вычислено по формуле:

N = d n 2 n +d n-1 2 n-1 +…+d 1 2 1 +d 0 2 0 +d -1 2 -1 +d -2 2 -2 +…+d -(m-1) 2 -(m-1) +d -m 2 -m

Где: n - количество разрядов в целой части числа минус единица;
m - количество разрядов в дробной части числа
d i - цифра стоящая в i -м разряде

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

N = d n q n +d n-1 q n-1 +…+d 1 q 1 +d 0 q 0 +d -1 q -1 +d -2 q -2 +…+d -(m-1) q -(m-1) +d -m q -m

С помощью этой формулы вы всегда сможете вычислить значение не только двоичного числа, но и числа записанного в любой другой позиционной системе счислени. О других системах счисления рекомендуем почитать следующие статьи.