Как мы уже знаем, применяются два основных способа представления чисел - с фиксированной и плавающей запятой. Большинство универсальных ЭВМ работает с числами, представленными с плавающей запятой, а большинство специализированных - с фиксированной запятой.
Однако целый ряд машин работает с числами в этих двух форматах.
В общем виде способ представления чисел сильно влияет на характер программирования. Так, программирование для ЭВМ, работающих в системе с фиксированной запятой, значительно усложняется, поскольку помимо алгоритмических трудностей этот процесс требует ещё отслеживания положения запятой.
Фиксированная запятая
Оговоримся, что разрядная сетка машины имеет постоянное число разрядов - n.
При представлении чисел с фиксированной запятой считают, что запятая всегда находится перед старшим разрядом, а все числа, которые участвуют в вычислениях, считаются по абсолютной величине меньше единицы:
|X| < 1
Введём две характеристики чисел: диапазон изменения и точность представления.
Диапазон изменения характеризуется теми пределами, в которых могут находиться числа, с которыми оперирует машина.
Отличное от нуля самое малое число:
Таким образом, диапазон чисел, с которыми работает ЭВМ, есть:
|X|min|X| |X|max
2-n|X| 1 - 2-n
Иными словами, числа, которые выходят за диапазон изменения, в ЭВМ не могут быть представлены точно. Если
|X| < |X|min = 2-n,
то такое число воспринимается как нуль.
Если:
|X| > |X|max = 1- 2-n,
то такое число воспринимается как бесконечно большое. Этим двум случаям соответствуют понятия машинного нуля и машинной бесконечности.
При оптимальном округлении абсолютная ошибка:
|ΔX| 0,5*2-n
Минимальная относительная ошибка:
|ΔX| 0,5*2-n
|x|min = _______ = -__________ 2-(n+1)
|X|max 1-2-n
так как 1-2-n1 при большом "n"
Максимальная относительная ошибка:
|ΔX| 0,5*2-n
|X|max = _____ = _____________ = 0,5
|X|min 2-n
Ошибка представления числа зависит от величины самого числа и способа округления:
2-(n+1)|X| 0,5
Заметим, что для малых чисел ошибка может достигать большой величины.