- •Для позиционной системы счисления справедливо равенство
- •Перевод чисел делением на основание новой системы
- •Табличный метод перевода
- •Знаковая часть
- •Форматы данных и машинные коды чисел.
- •Представление чисел в формате с фиксированной точкой
- •Представление чисел в формате с плавающей точкой
- •4. Двоичная арифметика
- •Арифметические действия над целыми числами
4. Двоичная арифметика
Арифметические операции во всех позиционных системах счисления выполняются по одним и тем же хорошо известным вам правилам.
Сложение. Рассмотрим сложение чисел в двоичной системе счисления. В его основе лежит таблица сложения одноразрядных двоичных чисел:
0+0=0
0+1=1
1+0=1
1+1=10
Важно обратить внимание на то, что при сложении двух единиц происходит переполнение разряда и производится перенос в старший разряд. Переполнение разряда наступает тогда, когда величина числа в нем становится равной или большей основания.
Сложение многоразрядных двоичных чисел происходит в соответствии с вышеприведенной таблицей сложения с учетом возможных переносов из младших разрядов в старшие.
В качестве примера сложим в столбик двоичные числа 1102и 112 :
1102
+
112
10012
Проверим правильность вычислений сложением в десятичной системе счисления. Переведем двоичные числа в десятичную систему счисления и затем их сложим:
1102=1*22+ 1*21+ 0*20= 610;
112= 1*21+ 1*20= 310;
610 + 310= 910.
Теперь переведем результат двоичного сложения в десятичное число:
10012= 1*23+0*22+ 0*21+ 1*20= 910/
Сравним результаты – сложение выполнено правильно.
Вычитание. Рассмотрим вычитание двоичных чисел. В его основе лежит таблица вычитания одноразрядных двоичных чисел. При вычитании из меньшего числа (0) большего (1) производится заем из старшего разряда. В таблице заем обозначен 1 с чертой:
0-0 =_0
0-1 =11
1-0 = 1
1-1 = 0
Вычитание многоразрядных двоичных чисел происходит в соответствии с вышеприведенной таблицей вычитания с учетом возможных заемов из старших разрядов. В качестве примера произведем вычитание двоичных чисел 1102и 112:
1102
-
112
112
Умножение. В основе умножения лежит таблица умножения одноразрядных двоичных чисел:
0 *0 = 0
0 *1 = 0
1 *0 =0
1 * 1 =1
Умножение многоразрядных двоичных чисел происходит в соответствии с вышеприведенной таблицей умножения по обычной схеме, применяемой в десятичной системе счисления с последовательным умножением множимого на цифры множителя. В качестве примера произведем умножение двоичных чисел и:
1102
x
112___
110
110____
100102
Деление. Операция деления выполняется по алгоритму, подобному алгоритму выполнения операции деления в десятичной системе счисления. В качестве примера произведем деление двоичного числа 1102и 112:
1102112___
- 102
11
0
Коды: прямой, обратный, дополнительный.
В компьютерной технике применяются три формы записи (кодирования) целых чисел со знаком: прямойкод,обратный код, дополнительныйкод.. Последние две формы применяются особенно широко, так как позволяют упростить конструкцию арифметико-логического устройства компьютера путем замены разнообразных арифметических операций операцией сложения.
Положительные числа в прямом, обратном и дополнительном кодах изображаются одинаково – с цифрой 0 в знаковом разряде.
ПРИМЕРЫ. Число 110=12: Число 12710=11111112
0 1 1 1 1 1 1 1
Знак числа «+»
0 |
0 |
0 |
0 |
0 |
0 |
0 |
1 |
Знак числа «+» |
Отрицательные числа в прямом, обратном и дополнительном кодах имеют разное изображение.
Прямой код. В знаковый ряд помещается цифра 1, а в разряды цифровой части числа – двоичный код его абсолютной величины.
ПРИМЕРЫ. Прямой код числа -1: Прямой код числа -127:
1 1 1 1 1 1 1 1
Знак числа «-»
1 |
0 |
0 |
0 |
0 |
0 |
0 |
1 |
Знак числа «-» |
Обратный кодполучается инвентированием всех цифр двоичного кода абсолютной величины числа, включая разряд знака: нули заменяют единицами, а единицы – нулями.
ПРИМЕРЫ. Число: -1. Число: -127.
Код модуля числа: 0 0000001. Код модуля числа: 0 1111111
Обратный код числа: 1 1111110. Обратный код числа:1 0000000
1 0 0 0 0 0 0 0
1 |
1 |
1 |
1 |
1 |
1 |
1 |
0 |
Дополнительный кодполучается образованием обратного кода с последующим прибавлением единицы к его младшему разряду.
ПРИМЕРЫ. Дополнительный код числа-1: Дополнительный код числа-127
1 0 0 0 0 0 0 1
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
Обычно отрицательные десятичные числапри вводе в машинуавтоматически преобразуютсявобратныйилидополнительный двоичный коди в таком виде хранятся, перемещаются и участвуют в операциях. При вводе таких чисел из машины происходитобратное преобразованиев отрицательные десятичные числа.
Выполнение арифметических операций с числами с фиксированной и плавающей запятой
Операция сложения чисел в прямом, обратном и дополнительном кодах выполняется на двоичных сумматорах соответствующего кода.