Формы представления чисел
В ЭВМ применяются две формы представления двоичных чисел:
- - естественная форма, или форма с фиксированной запятой (точкой);
- - нормальная форма, или форма с плавающей запятой (точкой).
В форме с фиксированной точкой все числа представляются в виде последовательных двоичных цифр (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 - основание системы счисления; | |
р - целочисленный порядок. |
Число разрядов, выделенных для представления порядков, определяет диапазон представимых в ЭВМ чисел с плавающей точкой. Кроме того, этот диапазон зависит также от основания 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 :: Содержание