Главная Случайная страница Контакты | Мы поможем в написании вашей работы! | ||
|
Машинные арифметические операции над числами производятся по-разному в зависимости от формы представления этих чисел.
При сложении чисел, представленных в естественной форме, необходимо учитывать следующие положения:
· числа хранятся в памяти компьютера в дополнительном коде;
· числа складываются вместе со знаками, при этом формируется знак результата;
· при сложении чисел с разными знаками единица переноса из знакового разряда стирается;
· признак переполнения разрядной сетки при сложении чисел с одинаковыми знаками говорит либо о том, что знак суммы не соответствует знакам слагаемых, либо о том, что перенос из старшего разряда в знаковый рассогласован.
Рассмотрим несколько примеров.
1. Даны два десятичных числа А = 126 и В = 267. Найти сумму этих чисел при разных знаках.
Вначале представим числа в двоичном коде:
А = 12610=111 11102
В=26710=1 0000 10112
В естественной форме Е эти числа имеют следующий вид:
Ап= 0.000000001111110 Вп = 0.000000100001011
[-АД] = 1.111111110000010 [-ВД] = 1.111111011110101
Проведем сложение чисел, используя соответствующие коды:
A+B=S1
AП | 0.000 0000 0111 1110 |
+ВП | 0.000 0001 0000 1011 |
S1 | 0.000 0001 1000 1001 |
-А - В = S2
[-AД] | 1.111 1111 1000 0010 |
+[-BД] | 1.111 1110 1111 0101 |
S2 | 1 1.111 1110 0111 0111 |
А - В = S3
AП | 0.000 0000 0111 1110 |
+[-BД] | 1.111 1110 1111 0101 |
S3 | 1.111 1111 0111 0011 |
-А + В = S4
[-АД] | 1.111 1111 1000 0010 |
+ВП | 0.000 0001 0000 1011 |
S4 | 10.000 0000 1000 1101 |
При получении сумм 51 и 53 переполнение разрядной сетки не произошло. При сложении -А - В и -А + В образовался перенос из знакового разряда, который следует отбросить. Суммы S1 и S4 положительны, а S2 и S3 - отрицательны.
Проверим правильность полученных результатов. Для этого произведем заданное сложение в десятичной системе и сравним с S1, S2, S3 и S4.,
А + В = 39310 = 18916 = 0.000 0001 1000 10012
-А- В = -39310 =-18916 =1.111 11100111 01112
А-В =-14110 =-8D16= 1.111 1111 0111 00112
-А + В = 14110 = 8D16 = 0.000 0000 1000 11012
Проверка показывает правильность вычисленных сумм.
Контрольные вопросы для самоподготовки студентов
1. От чего зависят границы диапазона целых чисел, представляемых в компьютере с фиксированной запятой?
2. Как будут представлены в 8-разрядном знаковом типе числа -1; -10; -120?
3. Запишите следующие двоичные числа в прямом, обратном и дополнительном коде для 8-разрядной ячейки: -1000; -111011; -1; -1111111.
4. Объясните, как дополнительный код позволяет заменить операцию вычитания операцией сложения.
Дата публикования: 2015-09-17; Прочитано: 848 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!