Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
2015-2016. ИСТ. Теория.doc
Скачиваний:
1
Добавлен:
01.07.2025
Размер:
88.06 Кб
Скачать

Представление отрицательных чисел в эвм

При выполнении алгебраического сложения над двумя числами (положительными и отрицательными) нужно произвести целый ряд действий:

  • анализ знаков исходных чисел для определения вида операции (сложить или вычесть);

  • при вычитании предварительно сравнить модули чисел;

  • выполнить действие (сложить или вычесть);

  • определить знак результата.

Поэтому в ЭВМ наряду с сумматором нужно иметь вычитатель.

Недостаток этого способа сложения – увеличение аппаратурных затрат. С целью отказа от вычитания и замены алгебраического сложения арифметическим для представления отрицательных чисел в ЭВМ используются:

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

При получении дополнительного кода числа необходимо его сначала перевести в прямой вид, потом в обратный и получить дополнительный код.

4.1 Прямой код

Прямой код двоичного числа G, представляемого в n-разрядной сетке определяется как:

где А – вес старшего разряда сетки (для дробей А = 1, для целых А = 2n-1). Если n = 8, то А = 10000000 = 27 = 28-1 = 128.

Диапазон чисел, представляемых прямым кодом:

Рисунок 4.1 - Поддиапазоны прямого кода

На рисунке 4.2 показан симметричный диапазон чисел в прямых кодах при n = 8.

Рисунок 4.2 - Диапазон чисел в прямых кодах.

Например, число 89 представляется у восьми разрядном слове (байте) в виде двоичного числа так:

Номер разряда

старшие <----- нумерация разрядов байта -----> младшие

7

6

5

4

3

2

1

0

Весовые значения разрядов

Знак

26

25

24

23

22

21

20

8910

=

0

1

0

1

1

0

0

1

Например, число -89 представляется у восьми разрядном слове (байте) в виде двоичного числа так:

Номер разряда

старшие <----- нумерация разрядов байта -----> младшие

7

6

5

4

3

2

1

0

Весовые значения разрядов

Знак

26

25

24

23

22

21

20

8910

=

0

1

0

1

1

0

0

1

Правило:

Прямой код двоичного числа совпадает с записью самого числа. Значения знакового разряда для положительных чисел равно 0, а для отрицательных равно 1.

Знаковым разрядом обычно является крайний разряд в разрядной сетке. Знаковый разряд обычно записывают, отделяя от цифровых, запятой или точкой. Если количество разрядов кода не указано, то будем считать, что под запись кода выделен один байт.

Пример:

А = +1011 Апр = 0.0001011

В = - 1101 Впр = 1.0001101