Числа в форме с фиксированной запятой
Типы и форматы операндов
Машинные команды оперируют данными, которые в этом случае принято называть операндами. К наиболее общим (базовым) типам операндов можно отнести: числа, символы и логические данные. Помимо них, ВМ обеспечивает обработку и более сложных информационных единиц: графических изображений, аудио-, видео- и анимационной информации. Такая информация является производной от базовых типов данных и хранится в виде файлов на внешних запоминающих устройствах. Для каждого типа данных в ВМ предусмотрены определенные форматы.
Числовая информация
Такого рода данные можно классифицировать следующим образом:
· числа с фиксированной запятой (целые, дробные, смешанные);
· числа с плавающей запятой;
· логические значения.
Числа в форме с фиксированной запятой
Представление числа А в форме с фиксированной запятой (ФЗ), которую иногда называют также естественной формой, включает в себя знак числа и его модуль в q-ричном коде. Здесь q — основание системы счисления или база. Для современных ВМ характерна двоичная система (q = 2), но иногда используются также восьмеричная (q = 8) или шестнадцатеричная (q = 16) системы счисления. Запятую в записи числа называют соответственно двоичной, восьмеричной или шестнадцатеричной. Знак положительного числа кодируется двоичной цифрой 0, а знак отрицательного числа — цифрой 1.
Числам с ФЗ соответствует запись вида . Отрицательные числа обычно представляются в дополнительном коде. Разряд кода числа, в котором размещается знак, называется знаковым разрядом кода. Разряды, где располагаются значащие цифры числа, называются цифровыми разрядами кода. Знаковый разряд размещается левее старшего цифрового разряда. Положение запятой одинаково для всех чисел и в процессе решения задач не меняется. Хотя запятая и фиксируется, в коде числа она никак не выделяется, а только подразумевается. В общем случае разрядная сетка ВМ для размещения чисел в форме с ФЗ имеет вид, представленный на рис.10, где т разрядов используются для записи целой части числа и r разрядов — для дробной части.
Рис 10 Формат представления чисел с фиксированной запятой
Если число является смешанным (содержит целую и дробную части), оно обрабатываются как целое, хотя и не является таковым (в этом случае применяют термин масштабируемое целое). Обработка смешанных чисел в ВМ встречается крайне редко. Как правило, используются ВМ с дробной (т = 0) либо целочисленной (r = 0) арифметикой.
При фиксации запятой перед старшим цифровым разрядом (рис. 11) могут быть представлены только правильные дроби. Для ненулевых чисел возможны два варианта представления (нулевому значению соответствуют нули во всех разрядах): со знаком и без знака. Фиксация запятой перед старшим разрядом используется при обработке мантисс чисел в форме с плавающей запятой (рассматривается ниже).
Рис.11 Представление дробных чисел в формате ФЗ
При фиксации запятой после младшего разряда представимы лишь целые числа. Это наиболее распространенный способ. Здесь также возможны числа со знаком и без знака (рис. 12).
Рис. 12 Представление целых чисел в формате ФЗ
На рис. 13 приведены целочисленные формату с фиксированной запятой, принятые в 64-разрядных процессорах.
Представление чисел в формате ФЗ упрощает аппаратурную реализацию ВМ и сокращает время выполнения машинных операций, однако при решении задач необходимо постоянно следить за тем, чтобы все исходные данные, промежуточные и окончательные результаты не выходили за допустимый диапазон формата, иначе возможно переполнение разрядной сетки, и результат вычислений будет неверным.
Рис. 13 Целочисленные форматы 64-разрядных процессоров