Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
1.Основы машинных вычислений.doc
Скачиваний:
8
Добавлен:
06.05.2019
Размер:
176.64 Кб
Скачать

Алгебраическое представление двоичных чисел

Знак числа обычно кодируется двоичной цифрой, при этом код 0 означает знак + (плюс), код 1 — знак - (минус). Числа со знаком используют старший разряд в качестве знакового. Таким образом, если используется число без знака, то для 8-разрядного числа используются все 8 бит, то максимальное число 255. Для 8- разрядного числа со знаком используются 7 бит, а восьмой знаковый, максимальное число будет 127. Для алгебраического представления чисел, то есть для представления чисел с учетом их знака, в вычислительных машинах используются специальные коды:

прямой код числа;

обратный код числа;

дополнительный код числа.

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

1.Прямой код числа N ,обозначим [N]пр.

Пусть N=a1, a2, a3, ... am, тогда:

При N>0, [N]пр.=0, a1, a2, a3, ... am;

При N<0, [N]пр.=1, a1, a2, a3, ... am;

При N=0 имеет место неоднозначность [0]пр.=0, 0 …= 1, 0 …

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

2. Обратный код числа N, обозначим [N]обр.

Пусть N= a1, a2, a3, ... am и ā обозначает инверсию a, т.е. если a=1 , то ā=0, и наоборот. Тогда:

При N>0, [N]обр =0, a1, a2, a3, ... am;

При N<0, [N]обр =1, ā 1, ā 2, ā 3, ... ā m;

При N=0 имеет место неоднозначность [0]обр.=0,00 …0 = 1,11…1

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

Например,

Для N=1011 [N]обр=0,1011;

Для N=-1011 [N]обр=1,0100 .

3. Дополнительный код числа N ,обозначим [N]доп.

Пусть так же N= a1, a2, a3, ... am и ā обозначает инверсию a, т.е. если a=1 , то ā=0, и наоборот. Тогда:

При N 0, [N]доп =0, a1, a2, a3, ... am;

При N 0, [N]доп =1, ā 1, ā 2, ā 3, ... ā m + 0,00 …1

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

Например,

Для N=1011 [N]доп=0,1011;

Для N=-1011 [N]доп=1,0101;

Для N=-0000, [N]доп=10,0000=0,0000 (1 исчезает)

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]