Представление отрицательных чисел 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Представление отрицательных чисел



Для машинного представления отрицательных чисел используют коды прямой, обратный и дополнительный.

Машинное изображение прямого кода числа - . Отсюда следует, что в прямом коде все цифровые разряды отрицательного числа остаются неизменными, а в знаковой части записывается единица. Например, если , то . Положительное число в прямом коде не меняет своего изображения. Например, если , то .

Правила преобразования чисел в прямой код можно сформулировать так:

,

где G – величина, равная весу старшего разряда сетки (для дробей G = 1, а для целых ).

Машинное изображение обратного кода числа . Отсюда следует, что обратный код двоичного числа является инверсным изображением самого числа, в котором все разряды исходного числа принимают инверсное (обратное) значение, т.е. все нули заменяются на единицы, а все единицы – на нули. Например, если , то .

Правила преобразования в обратный код можно сформулировать следующим образом:

,

где B – величина наибольшего числа без знака, размещающегося в n-разрядной сетке (для дробей , а для целых - ).

При проектировании цифровых автоматов необходимо учитывать неоднозначность изображения нуля в обратном коде: +0 изображается 0,00…0, -0 изображается 1,11…1.

Дополнительный код числа A, представляемого в n-разрядной сетке, определяется как

,

где C – величина, равная весу разряда, следующая за старшим разрядом используемой разрядной сетки (для дробей , а для целых чисел ). Например, число запишется в дополнительном коде так:

Дополнительный код является математическим дополнением основанию системы счисления:

.

где - абсолютное значение числа A.

Если рассматривать обратные и дополнительные коды числа, то можно увидеть, что

.

Это соотношение используют для получения дополнительного кода отрицательного числа следующим образом: сначала инвертируется цифровая часть исходного числа, в результате получается его обратный код; затем прибавляется единица в младший разряд цифровой части и тем самым получается дополнительный код этого числа.

Формы представления чисел

В ЭВМ применяют две формы представления чисел: с фиксированной точкой и с плавающей точкой. Эти формы называют также соответственно естественной и нормальной (полулогарифмической).

При представлении чисел с фиксированной точкой положение точки фиксируется в определенном месте относительно разрядов числа. Обычно подразумевается, что точка находится перед старшим цифровым разрядом или после младшего. В первом случае могут быть представлены только числа, которые по модулю меньше 1, во втором – только целые числа.

На рис. 1.1 показаны примеры форматов данных для представления чисел с фиксированной запятой.

Для представления числа со знаком для кода знака выделяется «знаковый» разряд (обычно крайний слева). В этом разряде 0 соответствует плюсу, 1 – минусу.

На рис. 1.1, а показан формат для чисел с точкой, фиксированной перед старшим разрядом. В этом формате могут быть представлены правильные дроби с точностью до . Если для представления чисел используется прямой код, то они могут принимать значения в диапазоне

.

Используется два варианта представления целых чисел: со знаком и без знака (рис. 1.1, б и рис. 1.1, в).

Если точка фиксируется справа от младшего разряда, то в n – разрядной сетке целых чисел со знаком можно представлять нуль, положительные и отрицательные целые двоичные числа. Дополнительный код позволяет использовать числа в диапазоне

.

Рисунок 1.1. Представление чисел в форме с фиксированной запятой

При представлении целых чисел без знака все разряды разрядной сетки

отводятся под модуль числа.

Представление чисел в форме с плавающей точкой в общем случае имеет вид

,

где - мантисса числа А; p - порядок числа А, q – основание системы счисления.

Мантисса и порядок представляются в системе счисления с основанием q. Порядок p, который может быть положительным или отрицательным целым числом, определяет положение точки в числе.

На рис. 1.2 показаны примеры форматов данных для чисел с плавающей точкой. Формат должен содержать знаковые части и поля для мантиссы и порядка. Выделяются специальные разряды для знака числа (мантиссы) и знака порядка (рис. 1.2, а). Кодирование знаков остается таким же, как было и с фиксированной запятой.

Рисунок 1.2. Представление чисел в формате с плавающей точкой

Выполнение арифметических операций над числами с плавающей точкой требуют помимо выполнения операций над мантиссами определенных операций над порядками. Для упрощения операций над порядками их сводят к действию над целыми положительными числами (числами без знаков), применяя для представления порядков смещенный код (представление чисел с плавающей точкой со смещенным порядком).

В случае представления числа с плавающей запятой со смещенным порядком к его порядку p прибавляется целое число - , где k – число двоичных разрядов, используемых для модуля порядка.

Смещенный порядок всегда положителен (рис.1.2, б).

Такое представление чисел неоднозначно. Для определенности вводятся некоторые ограничения. Наиболее распространено и удобно для представления в ЭВМ ограничение вида

.

Такая форма представления чисел называется нормализованной. В этом случае абсолютное значение мантиссы лежит в пределах от до , где n – количество разрядов для изображения мантиссы без знака.

В процессе вычислений может получиться ненормализованное число. В этом случае машина автоматически нормализует его.

Пусть r старших разрядов мантиссы равно 0. Тогда нормализация заключается в сдвиге мантиссы на r разрядов влево и уменьшении порядка на r единиц, при этом в младшие r разрядов мантиссы записываются нули.

 



Поделиться:


Последнее изменение этой страницы: 2017-02-07; просмотров: 335; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.145.130.31 (0.03 с.)