Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Тема-4 Зан-1-(Арифм-основы-4).docx
Скачиваний:
0
Добавлен:
01.04.2025
Размер:
106.1 Кб
Скачать

6. Правила выполнения арифметических операций над числами.

Арифметические операции с двоичными, восьмеричными и шестнадцатеричными числами осуществляются по тем же правилам, что и с десятичными числами, за исключением того, что переносы в следующие разряды производится при достижении значений 2, 8, 16, а не 10, как в десятичной системе.

Пример. Сложить числа 166(10) и 47(10) в двоичной, восьмеричной и шестнадцатеричной системах счисления.

перенос

1 111

11

1

1-е слагаемое

10100110

246

А6

2-е слагаемое

+101111

+57

+2F

результат

11010101

325

D5

Решение:

С целью упрощения конструкции ЭВМ любая математическая операция выполняется в виде определенной совокупности операций сложения. Для выполнения этого условия:

  • вся числовая информация в памяти ЭВМ хранится в дополнительном коде;

  • при необходимости (команды вычитания, деления) у числа меняется знак на обратный и формируется дополнительный код.

Сложение двоичных чисел со знаком в различных случаях может дать разные результаты, как это показано в табл. 1.9.

Таблица 1.9

Различные случаи сложения двоичных чисел со знаком.

Номер

Слагаемые и результат

Комментарий

1

15

X>0 , Y>0 , X+Y< 2

0.000011000111010 X=+1594

+ 0.100010010011011 +Y=+17563

0.100101011010101 Z=+19157

Результат корректный

2

15

X>0 , Y>0 , X+Y 2

1.111100111000110 X=+17563

+ 1.100101011010101 +Y=+19157

1.000111101110000 Z=-28816

При сложении положительных чисел отрицательный результат - ПЕРЕПОЛНЕНИЕ

3

15

X<0 , Y<0 , |X+Y|<2

1.111100111000110 X=-1594

+1.011101101100101 +Y=-17563

11.011010100101011 Z=-19157

Результат корректный, перенос из знакового разряда не учитывается

4

15

X<0 , Y<0 , |X|+|Y|2

1.011101101100101 X=-17563

+1.011010100101011 +Y=-19157

10.111000010010000 Z=+28816

При сложении отрицательных чисел получен положительный результат - ПЕРЕПОЛНЕНИЕ

5

X>0 , Y<0 , |X|>|Y|

0.100010010011011 X=+17563

+1.111100111000110 +Y= - 1594

10.011111001100001 Z=+15969

Результат корректный. Перенос из старшего разряда не учитывается

6

X>0 , Y<0 , |X|<|Y|

0.000011000111010 X= +1594

+1.011101101100101 +Y=-17563

1.100000110011111 Z=-15969

Результат корректный

В двух случаях (втором и четвертом) ограниченная разрядность чисел приводит к искажению не только величины, но и знака результата. Исправить положение можно, добавляя к результату или вычитая из него число:

216 = 65536, но для этого необходимо иметь дополнительный объем памяти.

Поскольку в процессе работы комплексов средств автоматизации вероятность получения искаженных результатов не равна нулю, то в вычислительных машинах предусмотрены специальные аппаратные или программные средства, позволяющие обнаружить ошибку такого рода. Обнаружение ошибки производится путем анализа знаков слагаемых и результата. Разные знаки слагаемых или совпадение знаков слагаемых и знака результата свидетельствуют о корректности результата. В противном случае вычисления прерываются и формируется сигнал «Переполнение» (сигнал ).