Полная версия

Главная arrow Информатика arrow Вычислительная техника

  • Увеличить шрифт
  • Уменьшить шрифт


<<   СОДЕРЖАНИЕ ПОСМОТРЕТЬ ОРИГИНАЛ   >>

Формы представления чисел в ЭВМ

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

В ЭВМ используют две формы представления чисел в разрядной сетке: с фиксированной и плавающей запятой.

Представление чисел с фиксированной запятой. Число с фиксированной запятой - естественная форма представления числа, когда положение запятой в разрядной сетке строго фиксируется. Обычно она фиксируется перед старшим или после младшего разрядов. Если запятая фиксируется перед старшим разрядом, то числа в ЭВМ представляются как правильные дроби; если после младшего - как целые числа. ЭВМ, в которых используется такая форма записи чисел, называют машинами с фиксированной запятой. На рис. 2.4 а приведена разрядная сетка ЭВМ для представления чисел с фиксированной запятой перед старшим разрядом.

Разряды такой сетки нумеруются слева направо, начиная с нулевого, который называется знаковым разрядом. В этом разряде, например, для прямого кода, 0 соответствует плюсу, а 1 - минусу. На разрядной сетке указан вес каждого разряда. Максимальное машинное число по абсолютной величине, т.е. без учета знака, равно

где «-количество разрядов числа.

Схемы разрядной сетки ЭВМ с фиксированной запятой

Рис. 2.4 Схемы разрядной сетки ЭВМ с фиксированной запятой

Минимальное, отличное от нуля машинное число

Диапазон чисел всех возможных величин в данном случае определяется неравенством: 2n< 1X1 < (1 - 2 ").

Анализируя это неравенство, можно отметить следующее:

  • 1. Диапазон представления чисел в машинах с фиксированной запятой сравнительно невелик.
  • 2. Число, абсолютное значение которого меньше минимального машинного слова (2"п), будет записано в ЭВМ в виде нуля. Такое число называется машинным нулем, так как на самом деле оно не равно нулю, но для его изображения недостаточно разрядов в машинном слове.
  • 3. Число, полученное в результате вычислений по абсолютному значению, нс должно превышать максимального машинного числа (1 - 2~п). Если число выходит за верхний предел (1 - 2'п), то целая часть его не может быть расположена в машинном слове и поэтому теряется, что приводит к искажению результата. В этом случае говорят, что произошло переполнение разрядной сетки.

Чтобы не допустить в процессе вычислений переполнения разрядной сетки, при подготовке задачи к решению на ЭВМ вводятся так называемые масштабные коэффициенты, с помощью которых числа, участвующие в вычислениях, и результаты расчета по модулю не превышают максимального машинного числа. Масштабный коэффициент т связывает реальное истинное число Y и его машинное изображение (код) Xследующим соотношением:

4. Относительная погрешность вычислений тем больше, чем меньше по абсолютной величине числа, участвующие в вычислениях, так как 5=А/А100, где А - абсолютная погрешность; А - двоичное число. Если в ЭВМ имеется п

разрядов числа, то абсолютная погрешность определяется точностью ее последнего знака, т.е. в данном случае Д=2"п.

Например, при п=4 для числа А=0,1111 относительная погрешность составит

Если запятая фиксирована после младшего разряда (рис. 2.4 б), разрядная сетка позволяет представлять отрицательные и положительные двоичные числа, модуль которых 1 < 1X1 < (2n-1), где п - количество числовых разрядов в разрядной сетке ЭВМ. Все числа, модуль которых меньше 1 или больше (2п-1), не могут быть представлены в этой разрядной сетке, а поэтому при подготовке к решению задачи на такой ЭВМ также необходимо вводить масштабные коэффициенты.

Среди команд ЭВМ есть такие, когда операция с фиксированной запятой производится не только над числами, но и над адресами. В этом случае операнд интерпретируется как двоичное число без знака. Диапазон представления чисел без знака в два раза больше, чем со знаком в разрядной сетке ЭВМ.

Работа ЭВМ в режиме с фиксированной запятой используется в основном для управления технологическими процессами и обработки информации в реальном масштабе времени. При выполнении операций над двоичными числами с фиксированной запятой основным операндом в ЕС ЭВМ является 32- разрядное, в 16-разрядных мини- и микроЭВМ - 16-разрядное, а в 8-разрядных микроЭВМ - 8-разрядное слово. В ЕС ЭВМ могут использоваться операнды длиной в полуслово, а произведения и делимые - длиной в двойное слово.

Десятичные числа в ЭВМ представляются только в естественной форме. Десятичные числа кодируются тетрадами в коде 8-4-2-1 и используются два формата для их представления: упакованный (уплотненный) и распакованный (зонный). В упакованном формате в одном байте размещаются две десятичные цифры. Код знака размещается в правых четырех разрядах младшего байта (рис. 2.5 а). В распакованном формате младшие четыре разряда байта заняты цифрой, а остальные разряды содержат служебный символ (зону). В младший байт записываются код знака и код младшей десятичной цифры (рис. 2.5 б).

Форматы десятичных чисел

Рис. 2.5 Форматы десятичных чисел

Десятичные числа вводятся обычно в распакованном формате, а при выполнении операций переводятся по специальной программе в упакованный формат; при выводе из ЭВМ десятичные числа вновь преобразуются в распакованный формат по специальной программе.

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

Достоинства представления чисел с фиксированной запятой: простота выполнения арифметических операций; недостатки - необходимость выбора масштабных коэффициентов и низкая точность представления чисел с малыми значениями модуля.

Представление чисел с плавающей запятой. Оно основывается на изображении чисел в полулогарифмической форме А=±р,±М, соответствующей записи чисел в нормальной форме, A=d±p (±М), где р - целое число, называемое порядком числа A; d - основание системы счисления; М - мантисса числа А (обычно |М|<1).

Фактически положение запятой в мантиссе М определяется величиной порядка р. С изменением р в большую или меньшую сторону запятая соответственно перемещается влево или вправо, т.е. «плавает» в изображении числа.

Пример 2.12. Представить в форме с плавающей запятой числа (158)ю и (101101)2-

Решение:

  • 1. (158)ю= К)3 • 0,158= К)4- 0,0158= 105 • 0,00158.
  • 2. (101101)2 =2110 - 0,101101= 2111 -0,0101101 = 21000 • 0,00101101.

Числа, удовлетворяющие условию 1 /d < М < 1, называют нормализованными.

Как видно из примера, при разных порядках числа положение запятой бывает различным, поэтому ЭВМ, допускающие такую форму записи числа, относят к машинам с плавающей запятой. В их памяти числа хранятся нормализованными. В разрядной сетке ЭВМ (рис. 2.6) фиксируются знак числа, знак порядка, порядок числа и числовое выражение мантиссы.

Схема разрядной сетки ЭВМ с плавающей запятой

Рис. 2.6 Схема разрядной сетки ЭВМ с плавающей запятой

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

В ЭВМ с плавающей запятой возможно переполнение разрядной сетки так же, как и в машине с фиксированной запятой. Например, переполнение может возникнуть при сложении нормализованных чисел с одинаковыми порядками. В этом случае появляется единица слева от запятой. Такого рода переполнение исключается сдвигом мантиссы вправо на один разряд и увеличением порядка на единицу, т.е. производится «нормализация вправо».

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

Диапазон чисел в ЭВМ с плавающей запятой определяется неравенством

При достаточно больших п (обычно п > 30) 1 - 2" ~1 и неравенство (2.6) принимает вид

Из этого неравенства видно, что диапазон чисел зависит в основном от порядка р. Если число превышает верхний предел неравенства (2.3), то происходит переполнение разрядной сетки и ЭВМ автоматически останавливается.

Соотношения между величинами характеристик и действительными порядками

Рис. 2.7. Соотношения между величинами характеристик и действительными порядками

Если число выйдет за нижний предел неравенства (2.3), то оно будет соответствовать машинному нулю. Если т взято достаточно большим, то абсолютная величина А будет настолько велика, что при вычислениях для большинства задач все числа не будут выходить из диапазона чисел ЭВМ и нс нужно будет прибегать к масштабным коэффициентам. Однако при этом уменьшается точность вычислений, так как увеличиваются ошибки округления и потери значности при нормализации. В целях устранения такого недостатка в современных ЭВМ предусматривается возможность перераспределения разрядов машинного слова между мантиссой и порядком программным путем.

В последних моделях ЭВМ получило распространение представление чисел с плавающей запятой с недвоичным основанием системы счисления (d=8 и d =16). Использование нсдвоичного основания несколько уменьшает точность вычислений при заданном числе разрядов мантиссы, но позволяет увеличить диапазон представляемых чисел в ЭВМ и ускорить выполнение некоторых операций, в частности, нормализации, за счет того, что сдвиг производится сразу на несколько двоичных разрядов (при d=8 на три разряда, при d= 16 на четыре разряда). Вероятность получения ненормализованных чисел в ходе вычислений значительно уменьшается.

В ЕС ЭВМ и СМ ЭВМ при представлении чисел с плавающей запятой применяется основание d= 16 и порядок числа выражается через характеристику рх - смещенные порядки, представляющие собой сумму действительного порядка р числа с учетом знака и числа 64, т. е. рх=р+64.

Отрицательные и положительные действительные порядки р, увеличившись на 64, оказываются смещенными на числовой оси в положительном направлении и представляются 7-разрядными двоичными числами без знака от О до 127 (рис. 2.7). Так как все характеристики рх являются положительными, то это упрощает выполнение некоторых действий над ними, например, исключение операций над знаками порядков.

В ЕС ЭВМ в операциях с плавающей запятой числа могут быть двух форматов фиксированной длины: короткий - в одно слово (рис. 2.8 а) и длинный - в двойное слово (рис. 2.8 б). Форматы различаются длиной мантиссы.

Формат слова данных с плавающей запятой в ЕС ЭВМ

Рис. 2.8 Формат слова данных с плавающей запятой в ЕС ЭВМ

Характеристики и мантиссы положительных и отрицательных чисел хранятся в ОП в прямом коде (рис. 2.8, в).

В некоторых мини- и микроЭВМ предусматривается возможность обрабатывать числа с плавающей запятой. Формат слова данных с плавающей запятой для 16-байтовых ЭВМ показан на рис. 2.9 а. В целях увеличения точности представления дробной части числа и диапазона представления чисел используют для представления числа с плавающей запятой два прилегающих друг к другу 16-битовых слова (рис. 2.9 б). Младшая часть мантиссы хранится в следующем, старшем по адресу, 16-битовом слове.

Формат слова данных с плавающей запятой для 16-байтовых ЭВМ

Рис. 2.9 Формат слова данных с плавающей запятой для 16-байтовых ЭВМ

В зависимости от назначения и конструкции ЭВМ применяются те или иные форматы данных с длинами слов 4, 8, 16, 32, 64 и т.д. В ЭВМ используют две формы представления чисел в разрядной сетке: с фиксированной и с плавающей запятой.

Достоинства представления чисел с фиксированной запятой: простота выполнения арифметических операций; недостатки - необходимость выбора масштабных коэффициентов и низкая точность представления чисел с малыми значениями модуля.

Числа с плавающей запятой можно представить в широком диапазоне и с достаточно большой точностью.

 
<<   СОДЕРЖАНИЕ ПОСМОТРЕТЬ ОРИГИНАЛ   >>