Знак положительного числа кодируется двоичной цифрой 0, а знак отрицательного числа - цифрой 1
Числам с фиксированной запятой соответствует запись вида: X = ±an-1an-2…a1a0,a-1a-2…a-r. Отрицательные числа обычно представляются в дополнительном коде. Разряд кода числа, в котором размешается знак, называется знаковым разрядом кода. Разряды, где располагаются значащие цифры числа, называются цифровыми разрядами кода. Знаковый разряд размещается левее старшего цифрового разряда. Положение запятой одинаково для всех чисел и в процессе решения задач не меняется. Хотя запятая и фиксируется, в коде числа она никак не выделяется, а только подразумевается. В общем случае разрядная сетка ЭВМ для размещения чисел в форме с фиксированной запятой имеет вид, представленный на рисунке, где n разрядов используются для записи целой части числа и r разрядов — для дробной части. При заданных значениях n и r диапазон изменения модулей чисел, коды которых могут быть представлены в данной разрядной сетке, определяется соотношением: qn > |X| ≥ q-r.
Обычно, используются ЭВМ с целочисленной арифметикой. Целые числа представимы при фиксации запятой после младшего разряда (r=0). Это наиболее распространенный способ, поэтому фактически понятие фиксированной запятой относится исключительно к целым числам, и операции с числами в форме фиксированной запятой будут характеризоваться как целочисленные. Возможные форматы целых чисел со знаком и без знака. Отрицательные целые числа в двоичном счислении (q=2) представляются в дополнительном формате, что позволяет избежать двойного представления нуля: ±0. Дополнительный формат получается следующим образом: 1. производится инверсия всех разрядов в представлении модуля исходного числа; 2. к полученному результату прибавляется единица.
Целые числа применяются также для работы с адресами. Представление чисел в формате фиксированной запятой упрощает аппаратурную реализацию ЭВМ и сокращает время выполнения машинных операций, однако при решении задач необходимо постоянно следить за тем, чтобы все исходные данные, промежуточные и окончательные результаты не выходили за допустимый диапазон формата, иначе возможно переполнение разрядной сетки и результат вычислений будет неверным.
|