Система счисления – это способ отображения чисел на бумаге. Они используются в расчетах на оборудовании и цифровой аппаратуре. Двоичная система счисления сейчас представляет собой один из наиболее востребованных инструментов в вычислительных приборах. Рассмотрим особенности работы с этой системой счисления.
История возникновения двоичной системы счисления
Ученые древнего мира предложили производить вычисления, используя лишь 2 цифры, и предположили, что за таким методом расчета будущее. Это объясняется простотой такого метода исчисления: всего 2 положения (0 и 1), 2 позиции, например, есть сигнал или нет сигнала. Немецкий математик Лейбниц полагал, что математические операции, осуществляемые над 2 цифрами, несут в себе определенный порядок.
До 40-х годов 20 века теория двоичной системы не развивалась, пока американский ученый Клод Шеннон не предложил применять ее в работе электронных схем. Оказалось, что их использование в ПЭВМ гораздо предпочтительнее, ведь человеку непросто запоминать громоздкое скопление нулей и единиц. А в компьютере достаточно создать устройство, имеющее логические 0 и 1, то есть обладающее не более 2 логическими состояниями. Это может быть намагниченный или размагниченный сердечник, закрытый или открытый трансформатор и т.д. Всего 2 положения, а не 10, как могло бы быть при использовании десятичной системы при компьютерных вычислениях.
Характеристики двоичной системы счисления
К особенностям двоичной системы счисления следует отнести:
- Использование всего пары цифр (0 и 1). Основание такой системы равно 2.
- Алгебраические операции, проводимые с числами из двух цифр, не представляют большой сложности.
- Хранение и преобразование сигналов видеоаппаратурой и приборами записи осуществляется в коде, состоящем из 0 и 1.
- Цифровые каналы связи обмениваются данными, используя их представление в виде 0 и 1.
Счет в двоичной системе
Рассмотрим, как правильно считать и выполнять более сложные преобразования, если в наличии всего 2 цифры:
0 – ноль.
1 – один.
Далее должна идти цифра 2. Она записывается в виде 2 цифр с повышением разряда числа:
10 – два.
И затем для каждой цифры по порядку идет повышение разряда:
11 – три.
100 – четыре.
101 – пять.
110 – шесть.
111 – семь.
После 7 цифры записываются в виде 4 разрядов:
1000 – восемь.
1001 – девять.
1010 – десять.
1011 – одиннадцать.
1100 – двенадцать.
1101 – тринадцать.
1110 – четырнадцать.
1111 – пятнадцать.
Далее цифры будут представлены в виде 5 разрядов, пока не исчерпаются все возможные комбинации, после этого произойдет очередное повышение разряда.
Перевод чисел из двоичной системы в десятичную
Представление десятичных чисел в двоичной системе делает их довольно громоздкими. Рассмотрим как происходит обратный процесс: перевод числа, состоящего из 0 и 1, в удобный для нас вид. Например, нужно перевести двоичный код 10101110 в десятичный вид.
Его можно разбить по степеням, как это выполняется в десятичной системе. Так, число 1587 можно отобразить как:
1000 + 500 + 80 + 7.
Или еще одним способом:
1*103 + 5*102 + 8*101 + 7*100.
В предыдущей записи просуммированы степени, соответствующие разряду каждой цифры за вычетом 1. За основание степени взято число10, потому что это десятичная система счисления. Этот метод можно применить к числу, представленному в двоичном виде. Только за основание степени следует брать цифру 2. Получается:
10101110 = 1*27 + 0*26 + 1*25 + 0*24 + 1*23 + 1*22 + 1*21 + 0*20 = 128 + 0 + 32 + 0 + 8 + 4 + 2 + 0 = 174.
Степени двойки выбираются по следующему принципу: необходимо посчитать разряд цифры и вычесть 1 из этого значения. Следует помнить, что разряд увеличивается справа налево. Так, самая первая единица имеет восьмой разряд, тогда ее надо умножить на 27 и т.д.
Таким образом, двоичная форма числа 10101110 – это 174 в десятичном представлении. Корректная запись выглядит так:
101011102 = 17410.
Бывает необходимость в обратном процессе: перевести десятичный вид записи в последовательность из 0 и 1. Это выполняется путем деления на 2 и образованием двоичного числа из остатка. Например, число 69.
Делимое |
Делитель |
Частное |
Остаток |
69 |
2 |
34 |
1 |
34 |
2 |
17 |
0 |
17 |
2 |
8 |
1 |
8 |
2 |
4 |
0 |
4 |
2 |
2 |
0 |
2 |
2 |
1 |
0 |
1 |
2 |
0 |
1 |
Смотрим на остаток. Получаем число в двоичной форме, начиная с последней строчки: 1000101 (эти цифры расположены в столбце «Остаток», если смотреть снизу вверх). Нужно проверить полученный результат:
1000101 = 1*26 + 0*25 + 0*24 + 0*23 + 1*22 + 0*21 + 1*20 = 64 + 4 +1 = 69.
Математические операции с двоичными числами
Сложение.
Это основная арифметическая операция при расчетах на компьютерах. Основные принципы сложения двоичных чисел опираются на правила:
0 + 0 = 0
0 + 1 = 1
1 + 0 = 1
1 + 1 = 10
Таким образом, складывая в столбик 11012 и 1102, получаем 100112 или 1910.
Вычитание.
Эта операция идентична сложению, если представить, что одно из двоичных чисел является отрицательным. В таком случае нужно учитывать модули складываемых чисел.
Правила, используемые при вычитании:
0 – 0 = 0
1 – 0 = 1
0 – 1 = 1 (занимаем из старшего разряда).
1 – 1 = 0
Например, вычитаем из 11102 число 1012, получаем 10012 или 910.
Умножение.
Это непростая операция над кодом из 0 и 1. Вычислительные машины имеют специальный регистр, который накапливает промежуточные суммы и путем сдвига и последовательного сложения получается итоговое умножение.
На бумаге умножение представляет собой совокупность операций сложения. Например, необходимо произвести умножение 1010 на 4010.
Преобразуем их в совокупность 0 и 1:
1010 =000010102
4010 = 001010002
Оба числа в двоичной форме имеют слева и справа несколько нулей, которые не играют роли в операции умножения. Значимые части – это 101 в числе 10 и 101 в числе 40, расположенные между нулями. Их нужно перемножить, а нули просто дописать в итоговом результате:
|
Незначимые нули слева |
Значимая часть |
Незначимые нули справа |
Первый множитель
|
0000 |
101 |
0 |
Второй множитель
|
00 |
101 |
000 |
Промежуточный этап умножения
|
|
101
101
|
|
Результат умножения |
000000 |
11001 |
0000 |
Итоговый результат |
|
|
000000110010000 |
Перемножаем левую и правую единицу второго множителя на первый множитель, затем суммируем полученный промежуточный результат. Нули складываем и переписываем в итоговый результат умножения, который в двоичной форме выглядит так: 0000001100100002 (нижняя строчка слева направо).
Проверяя, получаем:
1 * 28 + 1 * 27 + 1 * 24 = 256 + 128 + 16 = 400.
Деление.
Это довольно сложное преобразование над двоичной формой записи, потому что возможны случаи деления с остатком.
Рассмотрим наиболее простой пример деления без остатка. Надо разделить 1410 на 210. В двоичном виде это выглядит так:
1410 = 11102.
210 = 102.
Делим 11102 на 102 в столбик:
_1110 |10
10 111
_11
10
_10
10
0
Получаем число 1112, что равняется 7 в десятичной системе счисления. При проверке умножением доказываем точность результата:
|
Значимая часть |
Незначимые нули справа |
Первый множитель |
111 |
|
Второй множитель |
1 |
0 |
Итоговый результат |
111 |
0 |
Смотрим на нижнюю строчку слева направо, результат умножения – 11102. Ответ верный.