Двоичные коды представления чисел

Существуют три основных кода для представления чисел в цифровых процессорах: прямой код, обратный код, дополнительный код. Рассмотрим положительные и отрицательные числа с фиксированной точкой

Код числа содержит m=b+1 разрядов.

Прямой код. Условное обозначение числа А, представленного в прямом коде: [A]пр. Правило кодирования: в знаковый разряд кода записывается 0 (для положительных чисел), или 1 (для отрицательных), числовые разряды кода соответствуют числовым разрядам (дробной части) исходного числа.

Условная точка в записи числа отделяет (для наглядности записи) знаковый разряд от числовых.

Дополнительный код.. Условное обозначение [A]доп.

Правило кодирования положительных чисел: дополнительный код положительного числа совпадает с прямым кодом: [A]доп.= [A]пр.

Правило кодирования отрицательных чисел: В знаковый разряд кода записывается 1, числовые разряды исходного числа инвертируются (0 заменяется на 1и наоборот) и к младшему числовому разряду прибавляется 1:

[1]

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

Следует отметить, что дополнительному коду [A]доп=1.000….0 соответствует число А=-1, которое нельзя перевести в дополнительный код по алгоритму [1].

Обратный код. Условное обозначение [A]обр.

Правило кодирования положительных чисел: обратный код положительного числа совпадает с прямым кодом: [A]обр.= [A]пр.

Правило кодирования отрицательных чисел: В знаковый разряд кода записывается 1, числовые разряды исходного числа инвертируются:

[2]

В таблице показано представление десятичных чисел с помощью 3-разрядного кода (m=3, b=2). Поскольку количество комбинаций двоичного кода равно 2m=8, с помощью 3-разрядного кода можно представить не более 8 чисел.

Особенности представления чисел в дополнительном коде: однозначное представление 0 и соответствие коду 1.00 числа A=-1.

Десятич. число 0.75 0.50 0.25   -0.25 -0.50 -0.75 -1.0
Прямой код 0.11 0.10 0.01 0.00 1.00 1.01 1.10 1.11 -
Обратный код 0.11 0.10 0.01 0.00 1.11 1.10 1.01 1.00 -
Дополнит. код 0.11 0.10 0.01 0.00 1.11 1.10 1.01 1.00

Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: