Лекции.Орг


Поиск:




Категории:

Астрономия
Биология
География
Другие языки
Интернет
Информатика
История
Культура
Литература
Логика
Математика
Медицина
Механика
Охрана труда
Педагогика
Политика
Право
Психология
Религия
Риторика
Социология
Спорт
Строительство
Технология
Транспорт
Физика
Философия
Финансы
Химия
Экология
Экономика
Электроника

 

 

 

 


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




 

Один из способов выполнения операции вычитания – замена знака вычитаемого на противоположный и прибавление его к уменьшаемому:

АВ = А +(– В).

Таким образом операцию арифметического вычитания заменяют операцией алгебраического сложения, которая и становится основной операцией в ЭВМ.

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

Прямой код числа А =–0, а 1 а 2... аn – машинное изображение этого числа в виде [ А ]пр=1, а 1 а 2... аn. Из определения следует, что в прямом коде все цифровые разряды отрицательного числа остаются неизменными, а в знаковой части записывается единица. Например, если А =–0,101110, то [ А ]пр=1,101110. Положительное число в прямом коде не меняет своего изображения. Например, если А =0,110101,то [ А ]пр=0,110101.

В прямом коде в разрядную сетку цифрового автомата можно записать следующее максимальное по абсолютному значению число А пр max=0,11...1=1–2- n, где n – количество разрядов разрядной сетки цифрового автомата.

Диапазон изменения машинных изображений для прямого кода лежит в пределах

 

Ранее прямой код был использован для записи чисел в разрядной сетке цифрового автомата.

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

 

Дополнительный код числа А =–0, а 1 а 2... аn – такое машинное изображение этого числа [ А ]д=1, b 1 b 2... bn, для которого bi = 0 при а i = 1, и bi = 1 при ai = 0, за исключением последнего значащего разряда, для которого bk =1 при ak =1. Например, число А =–0,101110 запишется в дополнительном коде так: [ А ]д= 1,010010.

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

(2.4)

 

где | А | – абсолютное значение числа А.

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

 

Максимальное дополнительное число, представляемое при этом, равно (1–2- n).

Наибольшее отрицательное число, которое можно записать в дополнительном коде, определим следующим образом. Предположим, что наибольшее отрицательное число А 1=–0,11...11. Тогда изображение этого числа в дополнительном коде [ А 1]д=1,00...01. Если к числу A 1добавить единицу в самый младший разряд, то в результате получим число –1,00...0. Преобразовав это число по формальным правилам, получим [ А ]д m i n=1,00...0.

Следовательно, диапазон изменения машинных изображений чисел для формы представления с запятой, фиксированной перед старшим разрядом, в дополнительном коде

 

–1  | А |д (1 – 2- n).

 

Машинные изображения чисел – всегда целые числа. При этом наибольшее положительное число состоит из целой части, все разряды которой равны единице, и знакового разряда, равного нулю (например, в случае 16 двоичных разрядов (два байта) максимальное положительное число имеет вид 0111111111111111, т. е. равно 215–1); наибольшее отрицательное число состоит из целой части, все разряды которой равны нулю, и знакового разряда, равного единице, т. е. имеет вид 1000000000000000. В этом случае говорят о форме представления чисел с фиксированной точкой. Таким образом, соотношение (2.4) для представления целых чисел в дополнительном коде принимает вид

 

(2.5)

 

где k – количество разрядов в целой части машинного изображения числа. Формула (2.4) – частный случай формулы (2.5) при k = 0.

Обратный код числа А =–0, а 1 а 2... аn —такое машинное изображение этого числа [ А ]об=1, с 1 с 2… сn, для которого сi =0, если Ai =1, и ci =1, если аi = 0. Из определения следует, что обратный код двоичного числа является инверсным изображением самого числа, в котором все разряды исходного числа принимают инверсное (обратное) значение, т. е. все нули заменяются на единицы, а все единицы – на нули. Например, если А =–0,101110, то [ А ]об=1,010001. Для обратного кода чисел, представленных в форме запятой, фиксированной перед старшим разрядом, справедливо соотношение

 

(2.6)

 

где | А | – абсолютная величина А; n – количество разрядов после запятой в изображении числа.

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

 

Сравнив выражения (2.4) и (2.6), видим, что

 

(2.7)

 

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

 

Пример. Найти обратный и дополнительный коды числа А = –0,1110002.

Решение. Используя определение обратного кода, получим [ А ]об=1,000111.

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

 

Ответ: [ А ]об=1,000111; [ А ]д=1,001000.

 

В обратном коде можно изображать максимальное положительное число [ A ]обmax=0,11…1=1–2- n и наибольшее отрицательное число [ А ]обmin=–0,11…1=–(1–2- n), записываемое в виде 1,00…0.

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

Использование различных способов изображения отрицательных чисел в цифровом автомате обусловливает целый ряд особенностей выполнения операции алгебраического сложения двоичных чисел.

Двоичная арифметика

 





Поделиться с друзьями:


Дата добавления: 2016-11-18; Мы поможем в написании ваших работ!; просмотров: 831 | Нарушение авторских прав


Поиск на сайте:

Лучшие изречения:

Начинать всегда стоит с того, что сеет сомнения. © Борис Стругацкий
==> читать все изречения...

2300 - | 2053 -


© 2015-2024 lektsii.org - Контакты - Последнее добавление

Ген: 0.011 с.