Представление чисел в форме с фиксированной и плавающей точкой
В ЭВМ применяют две формы представления чисел: с фиксированной точкой (естественная форма) и плавающей точкой.
При представлении чисел с фиксированной точкой положение точки фиксируется в определенном месте относительно разрядов числа. Обычно подразумевается, что точка находится или перед старшим цифровым разрядом, или после младшего. В первом случае могут быть представлены только числа, которые по модулю меньше 1, во втором – только целые числа.
По сложившейся в вычислительной технике традиции нумерация разрядов (бит) в разрядной сетке в боль- ших машинах ведется слева направо, а в микроЭВМ и микропроцессорах – справа налево.
Рис.11. Правила нумерации разрядов
Далее будем рассматривать представление чисел в ЭВМ на примере микроЭВМ.
При представлении числа со знаком для кода знака выделяется "знаковый" разряд (обычно крайний слева). В этом разряде 0 соответствует плюсу, 1 – минусу.
Рис.12. Точка фиксирована перед старшим разрядом
Для представления чисел используются коды
(см. раздел 2.5)
Первые ЭВМ были машинами с фиксированной точкой, причем точка фиксировалась перед старшим цифровым разрядом числа. В настоящее время, как правило, форму с фиксированной точкой применяют для представления целых чисел (точка фиксирована после младшего разряда).
В случае представления чисел без знака все разряды разрядной сетки служат для представления модуля числа.
Представление чисел с фиксированной точкой используется как основное и единственное лишь в сравнительно небольших по своим вычислительным возможностях машинах, применяемых в системе передачи данных, для управления технологическими процессами и обработки измерительной информации в реальном масштабе времени.
В машинах, предназначенных для решения широкого круга задач, основным является представление чисел с плавающей точкой, не требующее масштабирования данных. Однако наряду с этой формой представления чисел используется и представление с фиксированной точкой для целых чисел, т.к. операции с такими числами выполняются за меньшее время. В частности, к операциям с целыми числами сводятся операции над кодами адресов (операции индексной арифметики).
Представление числа с плавающей точкой в общем случае имеет вид:
x = spq,
где q – мантисса числа x, sp – характеристика числа х, p– порядок характеристики (в дальнейшем называемый порядком), s– основание характеристики (обычно целая степень числа 2).
Мантисса (дробь со знаком) и порядок (целое число со знаком) представляются в системе счисления с основанием, равным s (в соответствующей двоично-кодированной форме). Знак числа совпадает со знаком мантиссы.
Порядок p, который может быть положительным или отрицательным целым числом, определяет положение точки в числе х. Пример формата данных для чисел с плавающей точкой приведён на рис.13. Одна часть формата используется для представления порядка, а другая – мантиссы.
Рис.13. Формат данных для чисел с плавающей точкой.
Арифметические действия над числами с плавающей точкой требуют выполнения помимо операций над мантиссами определенных операций над порядками (сравнение, вычитание и т.п.). Для упрощения операций над порядками их сводят к действиям над целыми положительными числами (целыми числами без знаков), применяя для представления порядков смещенный код (представление чисел с плавающей точкой со смещенным кодом, рассмотрено в п.2.5.4).
При фиксированном числе разрядов мантиссы любая величина представляется в машине с наибольшей возможной точностью нормализованным числом.
Число х=spq называется нормализованным, если мантисса q удовлетворяет условию
1>|q|>=1/s .
Иногда используется условие
s>|q|>=1,
т.е. старший разряд мантиссы в системе счисления с основанием s отличен от нуля.
В процессе вычислений может получаться ненормализованное число. В этом случае машина, если это предписано командой, автоматически нормализует его ("нормализация результата" операции).
Пусть в системе счисления с основанием s r старших разрядов мантиссы равно 0. Тогда нормализация заключается в сдвиге мантиссы на r разрядов влево и уменьшение порядка на r единиц. В младшие r разрядов мантиссы записывается 0. При этом число не меняется. При нулевой мантиссе нормализация невозможна.
В различных ЭВМ применяются представления чисел с плавающей точкой в двоично-кодированных системах счисления с различными основаниями, но равными целой степени числа 2 (s = 2w, где w – целое число). При этом порядок p представляется целым числом, а мантисса q – числом, в котором группы по w двоичных разрядов изображают цифры мантиссы с основанием системы счисления s = 2w.
Пример: x=2pq; x=8pq; x=16pq.
Использование для чисел с плавающей точкой недвоичного основания несколько уменьшает точность вычислений (при заданном числе разрядов мантиссы), но позволяет увеличить диапазон представляемых чисел и ускорить выполнение некоторых операций, в частности нормализации, за счет того, что сдвиг может производиться сразу на несколько двоичных разрядов (на четыре разряда для s=16). Кроме того, уменьшается вероятность появления ненормализованных чисел в ходе вычислений.
Диапазон представимых в ЭВМ чисел с плавающей точкой зависит от основания системы счисления и числа разрядов, выделенных для изображения порядка. Точность вычислений определяется числом разрядов мантиссы. С увеличением числа разрядов мантиссы увеличивается точность вычислений, но увеличивается и время выполнения арифметических операций.
Задачи, решаемые на ЭВМ, предъявляют различные требования к точности вычислений. Поэтому во многих машинах используется несколько форматов с плавающей точкой с различным числом разрядов мантиссы.
Представление чисел с двоичным основанием системы счисления для трёх форматов: короткого и длинного и расширенного, имеющих соответственно длину 32, 64 и 80 разрядов, в микро-ЭВМ приведены на рис. 14(а), 14(б) и 14(в).
Рис.14(а). Короткий формат
Рис.14(б). Длинный формат
Рис.14(в). Расширенный формат
Дата добавления: 2016-09-26; просмотров: 3895;