В ЭВМ используются следующие формы представления данных:
> Числа с фиксированной точкой (запятой);
> Числа с плавающей точкой (запятой);
> Десятичные числа;
> Символьные данные.
При представлении числа Х в форме с фиксированной точкой указываются знак числа (sign X) и модуль числа (mod X) в q-ичном коде. Иногда такую форму представления чисел называют естественной формой. Место точки (запятой) постоянно для всех чисел и в процессе решения задач не меняется. Знак положительного числа кодируется цифрой «0», а знак отрицательного числа — цифрой «1».
Код числа в форме с фиксированной точкой, состоящий из кода знака и q-ичного кода его модуля, называется прямым кодом. Разряд прямого кода числа, в котором располагается код знака, называется знаковым разрядом кода. Разряды прямого кода числа, в которых располагается q-ичный код модуля числа, называются цифровыми разрядами кода. При записи прямого кода знаковый разряд располагается левее старшего цифрового разряда и обычно отделяется от цифровых разрядов точкой.
В общем случае разрядная сетка ЭВМ для размещения чисел в форме с фиксированной точкой показана на рис. 1.4 а.
На рисунке показано n разрядов для представления целой части числа и r разрядов — для дробной части числа.
При заданных n и r диапазон изменения модулей чисел, коды которых могут быть представлены в данной разрядной сетке, определяется неравенством
Использование формы с фиксированной точкой для представления смешанных (с целой и дробной частью) чисел в ЭВМ практически не встречается. Как правило, используются ЭВМ либо с дробной арифметикой (п=0), либо с целочисленной арифметикой (r=0).
Форма представления чисел с фиксированной точкой упрощает аппаратную реализацию ЭВМ, уменьшает время выполнения машинных операций, однако при решении задач на машине необходимо постоянно следить за тем, чтобы все исходные данные, промежуточные и окончательные результаты находились в допустимом диапазоне представления. Если этого не соблюдать, то возможно переполнение разрядной сетки, и результат вычислений будет неверным. От этих недостатков в значительной степени свободны ЭВМ, использующие форму представления чисел с плавающей точкой, или нормальную форму.
В нормальной форме число представляется в виде произведения
X=mq^p
где m — мантисса числа;
q — основание системы счисления;
р — порядок.
Для задания числа в нормальной форме требуется задать знаки мантиссы и порядка, их модули в q-ичном коде, а также основание системы счисления. Нормальная форма представления чисел неоднозначна, ибо взаимное изменение т и р приводит к плаванию точки (запятой). Отсюда произошло название формы представления чисел.
Для однозначности представления чисел в ЭВМ используется нормальная нормализованная форма, в которой положение точки всегда задается перед значащей цифрой мантиссы, т. е. выполняется условие
В общем случае разрядную сетку ЭВМ для размещения чисел в нормальной форме можно представить в виде, изображенном на рис. 1.4 б. Разрядная сетка содержит:
* Разряд для знака мантиссы;
* r цифровых разрядов для q-ичного кода модуля мантиссы;
* Разряд для кода знака порядка;
* s разрядов для q-ичного кода модуля порядка.
Диапазон представления модулей чисел в нормальной нормализованной форме определяется следующим неравенством:
В конкретной ЭВМ диапазон представления чисел с плавающей точкой зависит от основания системы и числа разрядов для представления порядка.
При этом у одинаковых по длине форматов чисел с плавающей точкой с увеличением основания системы счисления существенно расширяется диапазон представляемых чисел.
Точность вычислений при использовании формата с плавающей точкой определяется числом разрядов мантиссы r. Она увеличивается с увеличением числа разрядов.
При представлении информации в виде десятичных многоразрядных чисел каждая
десятичная цифра заменяется двоично-десятичным кодом. Для ускорения обмена
информацией, экономии памяти и удобства операций над десятичными числами
предусматриваются специальные форматы их представления: зонный (распакованный) и упакованный.
Зонный формат используется в операциях ввода-вывода десятичных данных, упакованный
формат - для выполнения арифметических операций. Для этого в ЭВМ имеются
специальные команды упаковки и распаковки десятичных чисел.