В цифровых устройствах используются 2 формы представления числа: с фиксированной и с плавающей точкой. В случае использования чисел с фиксированной точкой для хранения числа один разряд используется в качестве знакового (0 – это «+», 1 – это «-»), а остальные разряды используются для хранения абсолютного значения числа. Десятичная точка занимает фиксированное положение и может находиться перед старшим разрядом либо после младшего.
Знак
×
×
×
×
×
×
×
×
×
×
Абсолютное значение числа
В первом случае абсолютное значение числа меньше 1, то есть хранится только дробная часть числа. Поскольку в результате операции над числами могут получиться числа не с нулевой целой частью, в этом случае происходит переполнение разрядной сетки. Недостатком такой формы представления числа является низкая точность в случае хранения чисел абсолютные значения которых малы.
Во втором случае мы получим целые числа. В случае, когда количество разрядов равно n в ячейке памяти могут содержаться числа в диапазоне -2n-1…(2n-1)-1. использование чисел с плавающей точкой предполагает их представление в показательной форме. В ячейке памяти они хранятся в виде двух групп цифр – мантиссы и порядка.
×
×
Знак мантиссы
мантисса
Знак порядка
порядок
Соответствующим выбором порядка можно добиться, чтобы старший разряд мантиссы был отличен от нуля – это нормальная форма представления числа. Диапазон представления чисел с плавающей точкой при числе разрядов m, отведенных под мантиссу, определяется следующим образом: ε<=1/2m+1 – абсолютная погрешность.
Для выполнения арифметических операций, числа в ЭВМ могут быть представлены в следующих кодах:
1. прямой код – обычное изображение числа;
2. обратный код – такое изображение числа, для которого каждый разряд становится единицей, если в прямом коде он равен нулю и наоборот (инверсия);
3. дополнительный код числа – определяется как величина, которая, будучи прибавленной к прямому коду, обращает сумму в ноль с переносом в старший разряд. Определение дополнения в любой системе счисления выполняется следующим образом: сначала каждая цифра числа в прямом коде вычитается из большей цифры для данной системы счисления, затем к младшему разряду результата прибавляется единица. Для двоичной системы счисления необходимо сначала получить обратный код числа, а затем к младшему разряду прибавить единицу.
Использование различных кодов значительно упрощает изготовление микропроцессоров, так как сокращается количество реализуемых операций. Все основные арифметические операции основаны на сложении и сдвиге.
Вычитание – это сложение дополнений.
Умножение – сдвиги и сложение.
Деление – сдвиги и вычитание.
Для выполнения вычитания необходимо:
1. получить обратный код 2 числа;
2. получить дополнение 2 числа;
3. произвести сложение прямого кода 1 числа с дополнением 2 числа;
4. наличие единицы переноса в старший разряд говорит о том, что число положительное в прямом коде, ее отсутствие – о том, что число отрицательное в дополнительном коде.