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

       

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


В ЭВМ применяются две формы представления двоичных чисел:

  • - естественная форма, или форма с фиксированной запятой (точкой);
  • - нормальная форма, или форма с плавающей запятой (точкой).

В форме с фиксированной точкой все числа представляются в виде последовательных двоичных цифр (0 и 1) с постоянным для всех чисел положением точки, отделяющей целую часть от дробной.

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

В персональных ЭВМ представление чисел с фиксированной точкой обычно реализуется в формате 16 - разрядного машинного слова или в формате 32 - разрядного двойного слова (рис. 5.1).

Рис. 5.1. Представление чисел с фиксированной точкой в персональныхЭВМ: а) в формате слова; б) в формате двойного слова

94

Данная форма представления чисел наиболее проста и естественна, однако, имеет существенные недостатки.

Прежде всего, достаточно ограниченным является диапазон чисел, представленных в форме с фиксированной точкой. Так, в n - разрядной сетке могут быть представлены целые двоичные числа х, модули которых находятся в пределах 1 ? |х| ? 2n - 1 - 1, что при n = 32 соответствует диапазону абсолютных десятичных чисел примерно от 1 до 109.

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

По этим причинам представление чисел с фиксированной точкой используется в современных ЭВМ как вспомогательное и только для целых чисел,

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

N = ± m S± P,

где m - мантисса числа (|m| < 1);
  S - основание системы счисления;
  р - целочисленный порядок.
Следовательно, при представлении чисел с плавающей точкой необходимо записать в разрядной сетке ЭВМ со своими знаками мантиссу ± m и порядок ± р. Мантисса (правильная дробь со знаком) и порядок (целое число со знаком) представляются в системе счисления с основанием S. Знак числа совпадает со знаком мантиссы. Порядок р, который может быть положительным или отрицательным целым числом, определяет положение точки (запятой) в записи числа N. С изменением порядка в ту или иную сторону точка (запятая) как бы "плавает" в изображении числа.

Число разрядов, выделенных для представления порядков, определяет диапазон представимых в ЭВМ чисел с плавающей точкой. Кроме того, этот диапазон зависит также от основания S принятой системы счисления. Так, в применяемых в недавнем прошлом больших ЭВМ типа IBM/360, EC ЭВМ и др. использовалась система счисления с основанием S = 16 = 24, в которой шестнадцатеричные цифры мантиссы изображались группами (тетрадами) по 4 двоичных разряда. В современных персональных ЭВМ мантисса представляется в двоичной системе счисления. Это несколько уменьшает диапазон представляемых чисел по сравнению с шестнадцатеричной системой, но зато увеличивает точность выполняемых расчетов.

Для того чтобы упростить операции над порядками, их обычно сводят к действиям над целыми положительными числами путем использования так называемого смещенного порядка, который всегда положителен. Смещенный порядок Рсм образуется прибавлением к порядку Р такого числа

95

N, чтобы смещенный порядок Рсм = P + N был всегда больше или равен нулю. Заметим, что для представления Рсм в разрядной сетке требуется столько же двоичных разрядов, сколько потребовалось бы для представления несмещенного порядка Р со своим знаком.

Для заданной разрядности мантиссы точность вычислений становится наибольшей, если мантисса представлена в нормализованном виде.


В этом случае в разрядной сетке мантиссы сохраняется наибольшее число значащих цифр. Модуль нормализованной мантиссы должен удовлетворять условию 1/S ? |m| < 1, при котором старший разряд мантиссы в S - й системе счисления не должен быть равным нулю. В процессе вычисления возможно нарушение нормализации вправо, если |m| < 1/S, или влево, если |m| >1. В первом случае производится сдвиг мантиссы влево до появления в старшем разряде ближайшей единицы. При этом в освобождающиеся младшие разряды мантиссы записываются нули и производится соответствующее уменьшение порядка числа. При нарушении нормализации влево производится сдвиг мантиссы вправо с соответствующим увеличением порядка числа. Младшие разряды мантиссы, выходящие за пределы разрядной сетки, отбрасываются. Мантисса, равная нулю, не может быть нормализована, поэтому этот случай рассматривается как потеря значимости и вырабатывается требование прерывания.

Рис. 5.2. Представления чисел с плавающей точкой в коротком (а)и длинном (б) форматах

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

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

96

94 :: 95 :: 96 :: Содержание


Содержание раздела