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

В зависимости от основания принятой системы счисления для изо-

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

шестерни с 12 зубьями через *0 градусов вместо 36.

Наиболее естественным было бы использование для изображения чисел в

ЭВМ десятичной системы счисления. Но для построения ЭВМ оказались более удобными другие системы счисления, отличные от десятичной. И вызвано это тем, что для электронных и некоторых электромеханических элементов харак- терно наличие двух устойчивых состояний. Так, например, электромеханиче- ское реле может быть замкнуто или разомкнуто, конденсатор заряжен или раз- ряжен, электронная лампа может проводить или не проводить ток. Магнит мо- жет находиться в одном из двух состояний намагниченности. Применение эле- ментов, имеющих два различных устойчивых состояния, требует применения системы счисления, использующей только две цифры. Таковой является двоич- ная система счисления. Кроме удобства изображения чисел с помощью элек- тронных элементов, двоичная система обладает рядом преимуществ при вы- полнении арифметических операций. Поэтому конструкция ЭВМ предусматри-

вает в основном представление чисел в двоичной системе счисления.

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

ванием два. Для изображения чисел в этой системе требуется лишь две

цифры: 0 и *. Благодаря этому числа можно изображать с помощью эле- ментов, имеющих два устойчивых состояния: одно из них принимается за изображение нуля, другое - за изображение единицы. Основание двоич- ной системы «два» изображается в этой системе как 10. Нетрудно видеть, что следующим числом будет число 11, затем 100 и т.д. Первые числа на-

турального ряда выражаются в двоичной системе счисления так:

 

 

Десятичные         *       1        2         3           4            5            6            7            8           9

Двоичные           0       1       10         11         100         *01        **0         11*       1000 *001

 

 

Из приведенной записи видно, что степени основания, т.е. 21, *2, 23, …,

в двоичной системе счисления представляются как набор нулей и единиц, причем количество нулей совпадает с показателем степени при основа- нии. Аналогично и в десятичной системе - степени основания 10 пред-

ставляются таким же набором нулей и единиц.

Следует отметить, что запись числа в двоичной системе счисления

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

всех элементов, необходимых для изображения чисел.

Рассмотрим организацию двоичной системы счисления на примере

десятичной системы. Десятичное число 325 можно представить следую-

щим образом:

325=300+20+*=*·1*0+2·10+5·*=3·10 +*·10 +5·10 .

2           1           0

Точно также строится и любая другая система счисления, в том числе и

двоичная. Произвольное число в двоичной системе счисления будет изобра-

жаться последовательностью цифр:

an…*0,*-1…a-m=an·2n+…+a0·20+…+а-1·2-1+…+а-m·2-m,

где каждый из коэффициентов может принимать значение 0 или 1.

Рассмотрим для примера двоичное число 1001, (оно соответствует деся-

тичному числу девять):

*0012=*·23+0·*2+0·21+1·20=*+1=910.

Арифметические действия в двоичной системе счисления производятся по

обычным правилам арифметики согласно соответствующим таблицам.

Двоичная таблица сложения                               Двоичная таблица умножения

*+0= 0                                                                       0·0=0

0+1= *                                                                      *·1=0

1+0= *                                                                       1·0=0

1+1=10                                                                       1·*=1

При сложении двух двоичных чисел необходимо учитывать, что 1+1 да-

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

сел:

Единицы переноса                   *1         1* 1*                                          11111

Первое слагаемое                    +110*01,1011                                     +110111

Второе слагаемое                       *1000,1110                                         11011

Сумма                                       *001110,100*                                     1010*10

Несколько сложнее производится сложение трех и более двоичных чисел.

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

реходить не только в ближайшие старшие разряды, но и в более удаленные.

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

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

которого брался заем.

Примеры: 1) _101*1                     *) _10001                    3)_1101                       4) _10110

1101                            1100                           *11                                  1*1

100*                               10*                           110                              10001

При умножении двоичных чисел используются двоичные таблицы ум-

ножения и сложения.

Пример:         1) ×111                                  2) ×1001                                 3) ×11*11

**1                                           1011                                          1*11

+     111                                        + 1*01                                        11011

00*                                            1001                                        110*1

111                                          1001                                          *1011

100011                                      11*0011                                  11011

1100*0101

Из примера видно, что умножение в двоичной системе сводится к много-

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

сдвинутого на один разряд влево, если - 0, то прибавление нуля.

При делении двоичных чисел используются двоичные таблицы умноже-

ния и вычитания. Поскольку деление - действие, обратное умножению, то оно

сводится соответственно к сдвигам и вычитанию делителя.

Пример:          1) _11*1 | 1*1        2) _11001| 101       3) _110**| 11

101 11                                1*1         101                             11            1001

_101                                         _101                                         _*1*

1*1                                            *01                                               11

00*                                            000                                            000

Как видно из приведенных примеров, правила выполнения арифметиче-

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

татов на выходе.

Таким образом, применительно к электронным вычислительным машинам

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

ты элементов.

Недостатком двоичной системы является то, что она не привычна для че-

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

перевода из двоичной в десятичную при выводе результатов вычислений