Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Архитектура компьютеров_1 / 4_Представление информации в компьютере.doc
Скачиваний:
42
Добавлен:
20.03.2015
Размер:
340.48 Кб
Скачать

4.1.4. Переполнение в целочисленной арифметике

В системе дополнения до двух n бит могут представлять значения из диапазона от −2n-1 до +2n-1-1. Используя, предположим, четыре бита, можно представить чис­ла от -8 до +7 (рис. 4.1). Когда результат арифметической операции выходит за пределы представимого диапазона, происходит арифметическое переполнение. При сложении беззнаковых чисел индикатором переполнения служит перенос сn из позиции старшего разряда. Однако при сложении чисел со знаком это не сра­батывает. Возьмем, к примеру, 4-битовые числа со знаком. Если попытаться сло­жить числа +7 и +4, результирующим вектором суммы S будет 1011, а это код числа -5. Как видите, результат сложения неверный, хотя сигнал переноса из по­зиции MSB равен 0. Точно так же при сложении чисел -4 и -6 получим вектор S = 0110 = +6, то есть еще один ошибочный результат. Сигнал переноса в данном случае равен 1. Таким образом, переполнение может произойти при условии, что оба слагаемых имеют одинаковый знак. Сложение же чисел с разными знаками не вызывает переполнения.

Отсюда можно сделать следующие выводы.

1. Переполнение может произойти только при сложении чисел с одинако­выми знаками.

2. При сложении чисел со знаком сигнал переноса из позиции знакового би­та не является индикатором переполнения.

Способ обнаружения переполнения заключается в анализе знаков слагаемых Х и У и знака результата. Если оба операнда, Х и Y, имеют один и тот же знак, ин­дикатором переполнения является несовпадение их знака со знаком суммы.

4.2. Символы

Компьютеры должны обрабатывать не только числа, но и текстовую информа­цию, состоящую из символов. Под термином «символы» подразумеваются буквы алфавита, десятичные цифры, знаки препинания и т. п. Они представляются ко­дами, обычно имеющими длину 8 бит. Одной из наиболее широко распространен­ных кодовых таблиц является таблица ASCII (American Standard Code For Infor­mation Interchange), приведенная в приложении.

4.3. Обработка чисел с плавающей запятой

До сих пор речь шла только о числах с фиксированной запятой и целочисленных значениях, то есть таких, при обработке которых предполагается, что двоичная запятая находится справа от числа. Если считать, что двоичная запятая располагается справа от знакового разряда, определяя дробное значение, то в систе­ме дополнения до двух значение числа со знаком F, представленного n-разрядной двоичной дробью

В= b0,b-1,b-2 ...b-(n-1)

определяется функцией

F(B) = -b0  20 + b-1  2-1 + b-2  2-2 +...+ b-(n-1)  2-(n-1)

где значение F лежит в диапазоне

-1 ≤ F ≤ 1 - 2-(n-1)

Рассмотрим диапазон значений, которые можно представить в 32-разрядном формате с фиксированной запятой. Если интерпретировать их как целые числа, получается диапазон от 0 до ±2,15  109, а если как дроби — диапазон от ±4.55  10-10 до ±1. Ни одного из этих диапазонов не достаточно для научных вычисле­ний, в которых могут использоваться такие параметры, как число Авогадро (6,0247 х 1023 моль-1) и константа Планка (6,6254 х 10-27 эргс). Необходим такой формат, который подходил бы и для очень больших целых, и для очень малень­ких дробных чисел. Для этого компьютер должен уметь представлять числа и оперировать ими таким образом, чтобы позиция двоичной запятой была перемен­ной и автоматически изменялась в процессе вычислений. Такие числа называют числами с плавающей запятой. Напомним, что в числах с фиксированной запятой двоичная запятая всегда располагается в одной и той же позиции.

Поскольку в числе с плавающей запятой позиция двоичной запятой перемен­ная, она должна быть явно задана в представлении числа. Так, в хорошо знакомом вам научном десятичном формате числа могут записываться как 6,0247 х 1023, 6,6254 х 10-27, -1,0341 х 102, -7,3000 х 10-14 и т. д. Говорят, что в этих числах по пять значащих цифр. Масштабные множители (1023, 10-27 и т. д.) указывают по­зицию десятичной запятой по отношению к значащим цифрам. Числа, в которых десятичная запятая расположена справа от первой (ненулевой) значащей цифры, называют нормализованными. Основание масштабного множителя (10), которое является фиксированным, в машинном представлении чисел с плавающей запя­той можно не задавать. Итак, число с плавающей запятой должно содержать знак, значащие цифры и показатель степени 10 в масштабном множителе.

Теперь мож­но дать точное определение машинного представления числа с плавающей запя­той: оно состоит из знака, строки значащих цифр, называемой мантиссой, и пока­зателя степени (фиксированного основания), называемого порядком.