Двоичный вид числа. Информатика - система счисления

14.02.2020

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

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

В десятичной системе счисления мы располагаем десятью знаками-цифрами (от 0 до 9). Когда счет достигает 9, то вводится новый разряд (десятки), а единицы обнуляются и счет начинается снова. После 19 разряд десятков увеличивается на 1, а единицы снова обнуляются. И так далее. Когда десятки доходят до 9, то потом появляется третий разряд – сотни.

Двоичная система счисления аналогична десятичной за исключением того, что в формировании числа участвуют всего лишь две знака-цифры: 0 и 1. Как только разряд достигает своего предела (т.е. единицы), появляется новый разряд, а старый обнуляется.

Попробуем считать в двоичной системе:
0 – это ноль
1 – это один (и это предел разряда)
10 – это два
11 – это три (и это снова предел)
100 – это четыре
101 – пять
110 – шесть
111 – семь и т.д.

Перевод чисел из двоичной системы счисления в десятичную

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

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

1476 = 1000 + 400 + 70 + 6

1476 = 1 * 10 3 + 4 * 10 2 + 7 * 10 1 + 6 * 10 0

Посмотрите на эту запись внимательно. Здесь цифры 1, 4, 7 и 6 - это набор цифр из которых состоит число 1476. Все эти цифры поочередно умножаются на десять возведенную в ту или иную степень. Десять – это основание десятичной системы счисления. Степень, в которую возводится десятка – это разряд цифры за минусом единицы.

Аналогично можно разложить и любое двоичное число. Только основание здесь будет 2:

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

1*2 7 + 0*2 6 + 0*2 5 + 0*2 4 + 1*2 3 + 0*2 2 + 0*2 1 + 1*2 0 = 128 + 0 + 0 + 0 + 8 + 0 + 0 + 1 = 137

Т.е. число 10001001 по основанию 2 равно числу 137 по основанию 10. Записать это можно так:

10001001 2 = 137 10

Почему двоичная система счисления так распространена?

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

Перевод десятичного числа в двоичное

Может потребоваться перевести десятичное число в двоичное. Один из способов – это деление на два и формирование двоичного числа из остатков. Например, нужно получить из числа 77 его двоичную запись:

77 / 2 = 38 (1 остаток)
38 / 2 = 19 (0 остаток)
19 / 2 = 9 (1 остаток)
9 / 2 = 4 (1 остаток)
4 / 2 = 2 (0 остаток)
2 / 2 = 1 (0 остаток)
1 / 2 = 0 (1 остаток)

Собираем остатки вместе, начиная с конца: 1001101. Это и есть число 77 в двоичном представлении. Проверим:

1001101 = 1*2 6 + 0*2 5 + 0*2 4 + 1*2 3 + 1*2 2 + 0*2 1 + 1*2 0 = 64 + 0 + 0 + 8 + 4 + 0 + 1 = 77

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

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

Но такая запись крайне неудобна, и позже пришла идея группировать предметы и каждую группу обозначать камнем, а не палочкой, ну или рисунком другой формы при записи. Это был первый шаг к созданию позиционных систем, к которым относится и двоичная система счисления. Однако окончательно они сформировались только после изобретения цифр. В силу того, что считать изначально людям было удобнее на пальцах, которых у нормального человека 10, именно десятичная система и стала наиболее распространенной. В распоряжении человека, использующего эту систему цифры, от 0 до 9. Соответственно, когда при счете человек доходит до 9, то есть исчерпывает запас цифр, он пишет единицу в следующий разряд, а единицы обнуляет. И в этом кроется суть позиционных систем счисления: значение цифр в числе напрямую зависит от того, какую позицию она занимает.

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

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

Перевод в двоичную систему счисления вряд ли вызовет у кого-то затруднения. Самый простой и понятный способ сделать это - деление числа на два, до тех пор, пока в ответе не получится ноль. При этом остатки записываются отдельно справа налево последовательно. Рассмотрим на примере, возьмем число 73: 73\2 = 36 и 1 в остатке, единицы записываем в крайнем правом положении, все дальнейшие остатки записываем левее этой единицы. Если вы все сделали правильно, то у вас должно было получиться следующее число: 1001001.

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

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

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


Двоичной системой счисления называется позиционная система счисления, у которой основанием является число 2.

Для записи любого числа в двоичной системе счисления используются всего лишь 2 цифры: 0 и 1.

Общая форма записи двоичных чисел

Для целых двоичных чисел можно записать:


a n−1 a n−2 ...a 1 a 0 =a n−1 ⋅2 n−1 +a n−2 ⋅2 n−2 +...+a 0 ⋅2 0

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

Правила сложения двоичных чисел

Основные правила сложения однобитовых чисел


0+0=0
0+1=1
1+0=1
1+1=10

Отсюда видно, что и, как и в десятичной системе счисления, числа, представленные в двоичной системе счисления, складывают поразрядно. Если разряд переполняется, единица переносится в следующий разряд.

Пример сложения двоичных чисел

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


0-0=0
1-0=0
10-1=1

Но как быть с 0-1=? Вычитание двоичных чисел немного отличается от вычитания десятичных чисел. Для этого используется несколько способов.

Вычитание методом заимствования

Запишите двоичные числа друг под другом – меньшее число под большим. Если меньшее число имеет меньше цифр, выровняйте его по правому краю (так, как вы записываете десятичные числа при их вычитании).
Некоторые задачи на вычитание двоичных чисел ничем не отличаются от вычитания десятичных чисел. Запишите числа друг под другом и, начиная справа, найдите результат вычитания каждой пары чисел.


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



1 - 0 = 1
11 - 10 = 1
1011 - 10 = 1001

Рассмотрим более сложную задачу. Вы должны запомнить только одно правило, чтобы решать задачи на вычитание двоичных чисел. Это правило описывает заимствование цифры слева, чтобы вы могли вычесть 1 из 0 (0 - 1).


110 - 101 = ?

В первом столбце справа вы получаете разность 0 - 1 . Для ее вычисления необходимо позаимствовать цифру слева (из разряда десятков).


Во-первых, зачеркните 1 и замените ее на 0, чтобы получить такую задачу: 1010 - 101 = ?
Вы вычли («позаимствовали») 10 из первого числа, поэтому вы можете написать это число вместо цифры, стоящей справа (в разряд единиц). 101100 - 101 = ?
Вычтите цифры в правом столбце. В нашем примере:
101100 - 101 = ?
Правый столбец: 10 - 1 = 1 .
102 = (1 x 2) + (0 x 1) = 210 (цифры нижнего регистра обозначают систему счисления, в которой записаны числа).
12 = (1x1) = 110.

Таким образом, в десятичной системе эта разность записывается в виде: 2 - 1 = 1.


Вычтите цифры в оставшихся столбцах. Теперь это легко сделать (работайте со столбцами, двигаясь, справа налево):


101100 - 101 = __1 = _01 = 001 = 1.

Вычитание методом дополнения

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




Рассмотрим пример: 101100 2 - 11101 2 = ?

Если значность чисел разная, к числу с меньшей значностью слева припишите соответствующее количество 0.




101100 2 - 011101 2 = ?

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




011101 2 → 100010 2 .

На самом деле мы «забираем дополнение у единицы», то есть вычитаем каждую цифру из 1. Это работает в двоичной системе, так как у такой «замены» может быть только два возможных результата: 1 - 0 = 1 и 1 - 1 = 0 .


К полученному вычитаемому прибавьте единицу.


100010 2 + 1 2 = 100011 2


Теперь вместо вычитания сложите два двоичных числа.


101100 2 +100011 2 = ?


Проверьте ответ. Быстрый способ – откройте двоичный онлайн калькулятор и введите в него вашу задачу. Два других метода подразумевают проверку ответа вручную.


1) Переведем числа в двоичную систему счисления:
Допустим, что из числа 101101 2 нужно вычесть 11011 2


2) Обозначим как A число 101101 2 и как B число 11011 2 .


3) Запишем числа A и B столбиком, одно под другим, начиная с младших разрядов (нумерация разрядов начинается с нуля).


4) Вычтем разряд за разрядом из числа A число B записывая результат в C начиная с младших разрядов. Правила поразрядного вычитания, для двоичной системы счисления представлены в таблице ниже.

Заем
из текущего разряда
O i-1

Заем
из следующего разряда
O i+1

Весь процесс сложения наших чисел выглядит следующим образом:


(красным шрифтом показаны заёмы из соответствующего разряда)


Получилось 101101 2 - 11011 2 = 10010 2
или в десятичной системе счисления: 45 10 - 27 10 = 18 10

Правила умножения двоичных чисел.

В целом эти правила очень просты и понятны.



0*0=0
0*1=0
1*0=0
1*1=1

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



Ариабхата
Кириллическая
Греческая Грузинская
Эфиопская
Еврейская
Акшара-санкхья Другие Вавилонская
Египетская
Этрусская
Римская
Дунайская Аттическая
Кипу
Майяская
Эгейская
Символы КППУ , , 4, 5, 6, , , , , , Нега-позиционная Симметричная Фибоначчиева Единичная (унарная)

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

В двоичной системе счисления числа записываются с помощью двух символов (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, называется двоичной точкой.

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

Допустим, дано двоичное число 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

Применения

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

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

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

В вычислительной технике широко используется запись отрицательных двоичных чисел в дополнительном коде . Например, число −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 года Штибиц продемонстрировал возможность посылки команд удалённому калькулятору комплексных чисел по телефонной линии с использованием телетайпа . Это была первая попытка использования удалённой вычислительной машины посредством телефонной линии. Среди участников конференции, бывших свидетелями демонстрации, были Джон фон Нейман , Джон Мокли и Норберт Винер , впоследствии писавшие об этом в своих мемуарах.

См. также

Примечания

  1. Попова Ольга Владимировна. Учебное пособие по информатике (неопр.) .
  2. Sanchez, Julio & Canton, Maria P. (2007), Microcontroller programming: the microchip PIC , Boca Raton, Florida: CRC Press, с. 37, ISBN 0-8493-7189-9
Нега-позиционная система счисления Симметричная система счисления Смешанные системы счисления Фибоначчиева система счисления Непозиционные системы счисления Единичная (унарная) система счисления Список систем счисления

Двоичная система счисления - позиционная система счисления с основанием 2.

Двоичные цифры

В этой системе счисления числа записываются с помощью двух символов (0 и 1).

История

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

Запись двоичных чисел

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

Количество записываемых кодов (чисел) зависит от основания системы кодирования - c , определяется в комбинаторике и равно числу размещений с повторениями :

Количество записываемых кодов (чисел) от основания показательной функции - b не зависит.
Основание показательной функции - b определяет диапазон представляемых числами x 2,b величин и разреженность представляемых чисел на числовой оси.

Целые числа являются частными суммами степенного ряда :

в котором коэффициенты a n берутся из множества R=a{0,1} , X=2 , n=k , а верхний предел в частных суммах ограничен с до - n-1 .

Целые числа со знаком записываются в виде:

Дробные числа записываются в виде:

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

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

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

Таблица вычитания

Пример умножения «столбиком» (14 × 5 = 70):

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

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

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

.

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

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

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

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

Для того, чтобы преобразовывать числа из двоичной в десятичную систему данным методом, надо суммировать цифры слева направо, умножая ранее полученный результат на основу системы (в данном случае 2). Например, двоичное число 1011011 переводится в десятичную систему так: 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. Или число 101111 переводится в десятичную систему так: 0*2+1 =1 >> 1*2+0 =2 >> 2*2+1 =5 >> 5*2+1 =11 >> 11*2+1 =23 >> 23*2+1 =47 То есть в десятичной системе это число будет записано как 47. Перевод дробных чисел методом Горнера 1) 0,1101 2 =0,X 10 (рассматриваем цифры в обратном порядке)
1:2=0,5
0,5+0=0,5
0,5:2=0,25
0,25+1=1,25
1,25:2=0,625
0,625+1=1,625
1,625:2=0,8125
Ответ: 0,1101 2 = 0,8125 10
2) 0,356 8 =0,X 10 (рассматриваем цифры в обратном порядке)
6:8=0,75
0,75+5=5,75
5,75:8=0,71875
0,71875+3=3,71875
3,71875:8=0,46484375
Ответ: 0,356 8 =0,46484375 10
3) 0,A6E 16 =0,X 10 (рассматриваем цифры в обратном порядке)
14:16=0,875
0,875+6=6,875
6,875:16=0,4296875
0,4296875+10=10,4296875
10,4296875:16=0,65185546875
Ответ: 0,A6E 16 =0,65185546875 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. Результат записываем справа налево. То есть нижнее число будет самым левым и.т.д. В результате получаем число 19 в двоичной записи: 10011.

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

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

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

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

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

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

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

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

Перевод целой части дает 206 10 =11001110 2 по ранее описанным алгоритмам; дробную часть умножаем на основание 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
и т. д.
Получим: 206,116 10 =11001110,0001110110 2

Применения

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

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

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

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

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

  • На фронтоне здания (бывшего Вычислительного Центра СО АН СССР) в Новосибирском Академгородке присутствует двоичное число 1000110 (70 10), что соответствует дате постройки здания ( год).

См. также

  • Двоичное кодирование

Примеры чисел-степеней двойки

Степень Значение
0
1
2
3
4
5
6
7
8
9
10
11
12
13 8192
14 16384
15 32768
16
17 131072
18 262144
19 524288
20 1048576
21 2097152
22 4194304
23 8388608
24
25 33554432
26 67108864
27 134217728
28 268435456
29 536870912
30 1073741824
31 2147483648
32 4294967296
33 8589934592
34 17179869184
35 34359738368
36 68719476736
37 137438953472
38 274877906944
39 549755813888
40 1099511627776
41 2199023255552
42 4398046511104
43 8796093022208
44 17592186044416
45 35184372088832
46 70368744177664
47 140737488355328
48 281474976710656
49 562949953421312
50 1125899906842624
51 2251799813685248

Примечания

  1. Sanchez, Julio & Canton, Maria P. (2007), «Microcontroller programming: the microchip PIC» , Boca Raton, Florida: CRC Press, с. 37, ISBN 0-8493-7189-9
  2. W. S. Anglin and J. Lambek, The Heritage of Thales , Springer, 1995,
Похожие статьи