дополнительный код дробного числа

Обратный и дополнительный коды двоичных чисел

дополнительный код дробного числа. l4 image002. дополнительный код дробного числа фото. дополнительный код дробного числа-l4 image002. картинка дополнительный код дробного числа. картинка l4 image002. Пример перевода x1=10101-пр=010101 x2=-11101-пр=111101 x3=0,101-пр=0,101 x4=-0,111-пр=1,111 2) Обратный код числа, используется для выполнения арифметических операций вычитания, умножения, деления, через сложение. Обратный код положительного числа совпадает с его прямым кодом, обратный код отрицательного числа формируется по правилам: в знаковом разряде записывается “1”; цифровые значения меняются на противоположные.дополнительный код дробного числа. equation. дополнительный код дробного числа фото. дополнительный код дробного числа-equation. картинка дополнительный код дробного числа. картинка equation. Пример перевода x1=10101-пр=010101 x2=-11101-пр=111101 x3=0,101-пр=0,101 x4=-0,111-пр=1,111 2) Обратный код числа, используется для выполнения арифметических операций вычитания, умножения, деления, через сложение. Обратный код положительного числа совпадает с его прямым кодом, обратный код отрицательного числа формируется по правилам: в знаковом разряде записывается “1”; цифровые значения меняются на противоположные. дополнительный код дробного числа. distance. дополнительный код дробного числа фото. дополнительный код дробного числа-distance. картинка дополнительный код дробного числа. картинка distance. Пример перевода x1=10101-пр=010101 x2=-11101-пр=111101 x3=0,101-пр=0,101 x4=-0,111-пр=1,111 2) Обратный код числа, используется для выполнения арифметических операций вычитания, умножения, деления, через сложение. Обратный код положительного числа совпадает с его прямым кодом, обратный код отрицательного числа формируется по правилам: в знаковом разряде записывается “1”; цифровые значения меняются на противоположные.дополнительный код дробного числа. projection image013. дополнительный код дробного числа фото. дополнительный код дробного числа-projection image013. картинка дополнительный код дробного числа. картинка projection image013. Пример перевода x1=10101-пр=010101 x2=-11101-пр=111101 x3=0,101-пр=0,101 x4=-0,111-пр=1,111 2) Обратный код числа, используется для выполнения арифметических операций вычитания, умножения, деления, через сложение. Обратный код положительного числа совпадает с его прямым кодом, обратный код отрицательного числа формируется по правилам: в знаковом разряде записывается “1”; цифровые значения меняются на противоположные. дополнительный код дробного числа. piramid. дополнительный код дробного числа фото. дополнительный код дробного числа-piramid. картинка дополнительный код дробного числа. картинка piramid. Пример перевода x1=10101-пр=010101 x2=-11101-пр=111101 x3=0,101-пр=0,101 x4=-0,111-пр=1,111 2) Обратный код числа, используется для выполнения арифметических операций вычитания, умножения, деления, через сложение. Обратный код положительного числа совпадает с его прямым кодом, обратный код отрицательного числа формируется по правилам: в знаковом разряде записывается “1”; цифровые значения меняются на противоположные. дополнительный код дробного числа. line. дополнительный код дробного числа фото. дополнительный код дробного числа-line. картинка дополнительный код дробного числа. картинка line. Пример перевода x1=10101-пр=010101 x2=-11101-пр=111101 x3=0,101-пр=0,101 x4=-0,111-пр=1,111 2) Обратный код числа, используется для выполнения арифметических операций вычитания, умножения, деления, через сложение. Обратный код положительного числа совпадает с его прямым кодом, обратный код отрицательного числа формируется по правилам: в знаковом разряде записывается “1”; цифровые значения меняются на противоположные.дополнительный код дробного числа. p image002. дополнительный код дробного числа фото. дополнительный код дробного числа-p image002. картинка дополнительный код дробного числа. картинка p image002. Пример перевода x1=10101-пр=010101 x2=-11101-пр=111101 x3=0,101-пр=0,101 x4=-0,111-пр=1,111 2) Обратный код числа, используется для выполнения арифметических операций вычитания, умножения, деления, через сложение. Обратный код положительного числа совпадает с его прямым кодом, обратный код отрицательного числа формируется по правилам: в знаковом разряде записывается “1”; цифровые значения меняются на противоположные.

Пример перевода
x1=10101-[x1]пр=010101
x2=-11101-[x2]пр=111101
x3=0,101-[x3]пр=0,101
x4=-0,111-[x4]пр=1,111
2) Обратный код числа, используется для выполнения арифметических операций вычитания, умножения, деления, через сложение. Обратный код положительного числа совпадает с его прямым кодом, обратный код отрицательного числа формируется по правилам: в знаковом разряде записывается “1”; цифровые значения меняются на противоположные.

3) Дополнительный код числа, имеет такое же назначение, как и обратный код числа. Формируется по следующим правилам: положительные числа в дополнительном коде выглядят также как и в обратном и в прямом коде, т.е. не изменяются. Отрицательные числа кодируются следующим образом: к обратному коду отрицательного числа (к младшему разряду) добавляется 1, по правилу двоичной арифметики.

Пример перевода
x1=10101-[x1]доп=010101
x2=-11101-[x2]обр=100010+1-[x2]доп=100011
x3=0,101-[x3]доп=0,101
x4=-0,111-[x4]обр=1,000+1-[x4]доп=1,001
Для выявления ошибок при выполнении арифметических операций используются также модифицированные коды: модифицированный прямой; модифицированный обратный; модифицированный дополнительный, для которых под код знака числа отводится два разряда, т.е. “+”=00; ”-”=11. Если в результате выполнения операции в знаковом разряде появляется комбинация 10 или 01 то для машины это признак ошибки, если 00 или 11 то результат верный.

Источник

Прямой, дополнительный и обратный коды

Прямой, дополнительный и обратный код числа (создан по запросу).

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

Обновление: Из комментариев становится ясно, что люди не вполне понимают, что делает этот калькулятор. Точнее, что делал — применял алгоритм вычисления дополнительного кода к любому числу. Люди хотят, чтобы он им просто показывал дополнительный код числа. Ну хорошо — теперь при вводе положительного числа калькулятор показывает представление числа в двоичной форме, ибо для него нет обратного и дополнительного кода, а при вводе отрицательного показывает дополнительный и обратный код.

дополнительный код дробного числа. . дополнительный код дробного числа фото. дополнительный код дробного числа-. картинка дополнительный код дробного числа. картинка . Пример перевода x1=10101-пр=010101 x2=-11101-пр=111101 x3=0,101-пр=0,101 x4=-0,111-пр=1,111 2) Обратный код числа, используется для выполнения арифметических операций вычитания, умножения, деления, через сложение. Обратный код положительного числа совпадает с его прямым кодом, обратный код отрицательного числа формируется по правилам: в знаковом разряде записывается “1”; цифровые значения меняются на противоположные.

Прямой, дополнительный и обратный код

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

Обратный код числа, или дополнение до единицы (one’s complement) это инвертирование прямого кода (поэтому его еще называют инверсный код). То есть все нули заменяются на единицы, а единицы на нули.

Дополнительный код числа, или дополнение до двойки (two’s complement) это обратный код, к младшему значащему разряду которого прибавлена единица

А теперь «зачем, зачем это все?» ©

Для различия положительных и отрицательных чисел выделяют старший разряд числа, который называется знаковым (sign bit)
0 в этом разряде говорит нам о том, что это положительное число, а 1 — отрицательное.

С положительными числами все вроде бы понятно, для их представления можно использовать прямой код
0 — 0000
1 — 0001
7 — 0111

А как представить отрицательные числа?

И это оказалось очень удобно для машинных вычислений — при таком представлении отрицательного числа операции сложения и вычитания можно реализовать одной схемой сложения, при этом очень легко определять переполнение результата (когда для представления получившегося числа не хватает разрядности)

Пара примеров
7-3=4
0111 прямой код 7
1101 дополнительный код 3
0100 результат сложения 4

-1+7=6
1111 дополнительный код 1
0111 прямой код 7
0110 результат сложения 6

Что касается переполнения — оно определяется по двум последним переносам, включая перенос за старший разряд. При этом если переносы 11 или 00, то переполнения не было, а если 01 или 10, то было. При этом, если переполнения не было, то выход за разряды можно игнорировать.

Примеры где показаны переносы и пятый разряд

00111 прямой код 7
00001 прямой код 1
01110 переносы
01000 результат 8 — переполнение

Два последних переноса 01 — переполнение

-7+7=0
00111 прямой код 7
01001 дополнительный код 7
11110 переносы
10000 результат 16 — но пятый разряд можно игнорировать, реальный результат 0

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

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

Источник

Прямой, обратный и дополнительный коды двоичного числа

Прямой код двоичного числа
Обратный код двоичного числа
Дополнительный код двоичного числа

дополнительный код дробного числа. Pryamoy obratnyiy i dopolnitelnyiy kod. дополнительный код дробного числа фото. дополнительный код дробного числа-Pryamoy obratnyiy i dopolnitelnyiy kod. картинка дополнительный код дробного числа. картинка Pryamoy obratnyiy i dopolnitelnyiy kod. Пример перевода x1=10101-пр=010101 x2=-11101-пр=111101 x3=0,101-пр=0,101 x4=-0,111-пр=1,111 2) Обратный код числа, используется для выполнения арифметических операций вычитания, умножения, деления, через сложение. Обратный код положительного числа совпадает с его прямым кодом, обратный код отрицательного числа формируется по правилам: в знаковом разряде записывается “1”; цифровые значения меняются на противоположные.
Мы знаем, что десятичное число можно представить в двоичном виде. К примеру, десятичное число 100 в двоичном виде будет равно 1100100, или в восьмибитном представлении 0110 0100. А как представить отрицательное десятичное число в двоичном виде и произвести с ним арифметические операции? Для этого и предназначены разные способы представления чисел в двоичном коде.
Сразу отмечу, что положительные числа в двоичном коде вне зависимости от способа представления (прямой, обратный или дополнительный коды) имеют одинаковый вид.

Прямой код

дополнительный код дробного числа. Znakovyiy razryad pryamogo koda. дополнительный код дробного числа фото. дополнительный код дробного числа-Znakovyiy razryad pryamogo koda. картинка дополнительный код дробного числа. картинка Znakovyiy razryad pryamogo koda. Пример перевода x1=10101-пр=010101 x2=-11101-пр=111101 x3=0,101-пр=0,101 x4=-0,111-пр=1,111 2) Обратный код числа, используется для выполнения арифметических операций вычитания, умножения, деления, через сложение. Обратный код положительного числа совпадает с его прямым кодом, обратный код отрицательного числа формируется по правилам: в знаковом разряде записывается “1”; цифровые значения меняются на противоположные.

Обратный код

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

дополнительный код дробного числа. Dvoichnoe chislo v obratnom kode. дополнительный код дробного числа фото. дополнительный код дробного числа-Dvoichnoe chislo v obratnom kode. картинка дополнительный код дробного числа. картинка Dvoichnoe chislo v obratnom kode. Пример перевода x1=10101-пр=010101 x2=-11101-пр=111101 x3=0,101-пр=0,101 x4=-0,111-пр=1,111 2) Обратный код числа, используется для выполнения арифметических операций вычитания, умножения, деления, через сложение. Обратный код положительного числа совпадает с его прямым кодом, обратный код отрицательного числа формируется по правилам: в знаковом разряде записывается “1”; цифровые значения меняются на противоположные.

Арифметические операции с отрицательными числами в обратном коде:

Дополнительный код

В дополнительном коде (как и в прямом и обратном) старший разряд отводится для представления знака числа (знаковый бит).

дополнительный код дробного числа. Predstavlenie chisel v dopolnitelnom kode. дополнительный код дробного числа фото. дополнительный код дробного числа-Predstavlenie chisel v dopolnitelnom kode. картинка дополнительный код дробного числа. картинка Predstavlenie chisel v dopolnitelnom kode. Пример перевода x1=10101-пр=010101 x2=-11101-пр=111101 x3=0,101-пр=0,101 x4=-0,111-пр=1,111 2) Обратный код числа, используется для выполнения арифметических операций вычитания, умножения, деления, через сложение. Обратный код положительного числа совпадает с его прямым кодом, обратный код отрицательного числа формируется по правилам: в знаковом разряде записывается “1”; цифровые значения меняются на противоположные.

дополнительный код дробного числа. Dopolnitelnyiy kod. дополнительный код дробного числа фото. дополнительный код дробного числа-Dopolnitelnyiy kod. картинка дополнительный код дробного числа. картинка Dopolnitelnyiy kod. Пример перевода x1=10101-пр=010101 x2=-11101-пр=111101 x3=0,101-пр=0,101 x4=-0,111-пр=1,111 2) Обратный код числа, используется для выполнения арифметических операций вычитания, умножения, деления, через сложение. Обратный код положительного числа совпадает с его прямым кодом, обратный код отрицательного числа формируется по правилам: в знаковом разряде записывается “1”; цифровые значения меняются на противоположные.

Арифметические операции с отрицательными числами в дополнительном коде

Вывод:
1. Для арифметических операций сложения и вычитания положительных двоичных чисел наиболее подходит применение прямого кода
2. Для арифметических операций сложения и вычитания отрицательных двоичных чисел наиболее подходит применение дополнительного кода

дополнительный код дробного числа. rating on. дополнительный код дробного числа фото. дополнительный код дробного числа-rating on. картинка дополнительный код дробного числа. картинка rating on. Пример перевода x1=10101-пр=010101 x2=-11101-пр=111101 x3=0,101-пр=0,101 x4=-0,111-пр=1,111 2) Обратный код числа, используется для выполнения арифметических операций вычитания, умножения, деления, через сложение. Обратный код положительного числа совпадает с его прямым кодом, обратный код отрицательного числа формируется по правилам: в знаковом разряде записывается “1”; цифровые значения меняются на противоположные.дополнительный код дробного числа. rating on. дополнительный код дробного числа фото. дополнительный код дробного числа-rating on. картинка дополнительный код дробного числа. картинка rating on. Пример перевода x1=10101-пр=010101 x2=-11101-пр=111101 x3=0,101-пр=0,101 x4=-0,111-пр=1,111 2) Обратный код числа, используется для выполнения арифметических операций вычитания, умножения, деления, через сложение. Обратный код положительного числа совпадает с его прямым кодом, обратный код отрицательного числа формируется по правилам: в знаковом разряде записывается “1”; цифровые значения меняются на противоположные.дополнительный код дробного числа. rating on. дополнительный код дробного числа фото. дополнительный код дробного числа-rating on. картинка дополнительный код дробного числа. картинка rating on. Пример перевода x1=10101-пр=010101 x2=-11101-пр=111101 x3=0,101-пр=0,101 x4=-0,111-пр=1,111 2) Обратный код числа, используется для выполнения арифметических операций вычитания, умножения, деления, через сложение. Обратный код положительного числа совпадает с его прямым кодом, обратный код отрицательного числа формируется по правилам: в знаковом разряде записывается “1”; цифровые значения меняются на противоположные.дополнительный код дробного числа. rating on. дополнительный код дробного числа фото. дополнительный код дробного числа-rating on. картинка дополнительный код дробного числа. картинка rating on. Пример перевода x1=10101-пр=010101 x2=-11101-пр=111101 x3=0,101-пр=0,101 x4=-0,111-пр=1,111 2) Обратный код числа, используется для выполнения арифметических операций вычитания, умножения, деления, через сложение. Обратный код положительного числа совпадает с его прямым кодом, обратный код отрицательного числа формируется по правилам: в знаковом разряде записывается “1”; цифровые значения меняются на противоположные. дополнительный код дробного числа. rating half. дополнительный код дробного числа фото. дополнительный код дробного числа-rating half. картинка дополнительный код дробного числа. картинка rating half. Пример перевода x1=10101-пр=010101 x2=-11101-пр=111101 x3=0,101-пр=0,101 x4=-0,111-пр=1,111 2) Обратный код числа, используется для выполнения арифметических операций вычитания, умножения, деления, через сложение. Обратный код положительного числа совпадает с его прямым кодом, обратный код отрицательного числа формируется по правилам: в знаковом разряде записывается “1”; цифровые значения меняются на противоположные.(34 голосов, оценка: 4,68 из 5)

Источник

Прямой, дополнительный и обратный коды

Прямой, дополнительный и обратный код числа (создан по запросу).

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

Обновление: Из комментариев становится ясно, что люди не вполне понимают, что делает этот калькулятор. Точнее, что делал — применял алгоритм вычисления дополнительного кода к любому числу. Люди хотят, чтобы он им просто показывал дополнительный код числа. Ну хорошо — теперь при вводе положительного числа калькулятор показывает представление числа в двоичной форме, ибо для него нет обратного и дополнительного кода, а при вводе отрицательного показывает дополнительный и обратный код.

дополнительный код дробного числа. . дополнительный код дробного числа фото. дополнительный код дробного числа-. картинка дополнительный код дробного числа. картинка . Пример перевода x1=10101-пр=010101 x2=-11101-пр=111101 x3=0,101-пр=0,101 x4=-0,111-пр=1,111 2) Обратный код числа, используется для выполнения арифметических операций вычитания, умножения, деления, через сложение. Обратный код положительного числа совпадает с его прямым кодом, обратный код отрицательного числа формируется по правилам: в знаковом разряде записывается “1”; цифровые значения меняются на противоположные.

Прямой, дополнительный и обратный код

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

Обратный код числа, или дополнение до единицы (one’s complement) это инвертирование прямого кода (поэтому его еще называют инверсный код). То есть все нули заменяются на единицы, а единицы на нули.

Дополнительный код числа, или дополнение до двойки (two’s complement) это обратный код, к младшему значащему разряду которого прибавлена единица

А теперь «зачем, зачем это все?» ©

Для различия положительных и отрицательных чисел выделяют старший разряд числа, который называется знаковым (sign bit)
0 в этом разряде говорит нам о том, что это положительное число, а 1 — отрицательное.

С положительными числами все вроде бы понятно, для их представления можно использовать прямой код
0 — 0000
1 — 0001
7 — 0111

А как представить отрицательные числа?

И это оказалось очень удобно для машинных вычислений — при таком представлении отрицательного числа операции сложения и вычитания можно реализовать одной схемой сложения, при этом очень легко определять переполнение результата (когда для представления получившегося числа не хватает разрядности)

Пара примеров
7-3=4
0111 прямой код 7
1101 дополнительный код 3
0100 результат сложения 4

-1+7=6
1111 дополнительный код 1
0111 прямой код 7
0110 результат сложения 6

Что касается переполнения — оно определяется по двум последним переносам, включая перенос за старший разряд. При этом если переносы 11 или 00, то переполнения не было, а если 01 или 10, то было. При этом, если переполнения не было, то выход за разряды можно игнорировать.

Примеры где показаны переносы и пятый разряд

00111 прямой код 7
00001 прямой код 1
01110 переносы
01000 результат 8 — переполнение

Два последних переноса 01 — переполнение

-7+7=0
00111 прямой код 7
01001 дополнительный код 7
11110 переносы
10000 результат 16 — но пятый разряд можно игнорировать, реальный результат 0

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

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

Источник

Дополнительный код

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

Положительные целые числа представляются в дополнительном коде точно так же, как в прямом коде. Формирование дополнительного кода отрицательного числа производится по следующему правилу:

значение знакового бита не меняется (равно 1);

все b значащих битов инвертируются (0 заменяются на 1,а 1 – на 0);

к младшему биту полученного числа прибавляется 1 с соблюдением правил сложения двоичных

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

Примеры перевода из прямого кода в дополнительный представлены на рис. 3.8 и 3.9.

а) положительное целое

б) отрицательное целое

формирование дополнительного кода:

инверсия всех битов, кроме знакового: 10010010

добавление 1 к младшему биту: 10010011

Рис. 3. 8. Примеры целых чисел в дополнительном коде

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

Приведем пример. Пусть дано число в дополнительном коде: 10010011доп (жирным шрифтом выделен знаковый бит). Формирование прямого кода:

инверсия всех битов, кроме знакового __ > 11101100;

добавление 1 к младшему биту _ > 11101101пр.

Код называется дополнительным, поскольку отрицательное дробное число можно представить как разность между числом 2 (беззнаковым целым) и модулем этого числа, т.е. как дополнение к 2. В качестве примера, получим дополнительный код отрицательного числа _ _0,875, как его дополнения к 2. Модуль этого числа в формате Q3 равен 0,111(2). Вычитая 0,111(2) из числа 2(10) = 10,000(2) имеем результат 1,001(2). Определим дополнительный код числа _ 0,875 по приведенному выше правилу:

_ 0, 875 _ > _ 0,111(2) _ > 1111пр _ > инверсия всех битов, кроме знакового _ >1000 добавление 1 в младшему биту _ > 1001доп. _______

дополнительный код дробного числа. image004. дополнительный код дробного числа фото. дополнительный код дробного числа-image004. картинка дополнительный код дробного числа. картинка image004. Пример перевода x1=10101-пр=010101 x2=-11101-пр=111101 x3=0,101-пр=0,101 x4=-0,111-пр=1,111 2) Обратный код числа, используется для выполнения арифметических операций вычитания, умножения, деления, через сложение. Обратный код положительного числа совпадает с его прямым кодом, обратный код отрицательного числа формируется по правилам: в знаковом разряде записывается “1”; цифровые значения меняются на противоположные.

б) отрицательное дробное

Формирование дополнительного кода:

инверсия всех битов, кроме знакового: 10001110

добавление 1 к младшему биту: 10001111

дополнительный код дробного числа. image004. дополнительный код дробного числа фото. дополнительный код дробного числа-image004. картинка дополнительный код дробного числа. картинка image004. Пример перевода x1=10101-пр=010101 x2=-11101-пр=111101 x3=0,101-пр=0,101 x4=-0,111-пр=1,111 2) Обратный код числа, используется для выполнения арифметических операций вычитания, умножения, деления, через сложение. Обратный код положительного числа совпадает с его прямым кодом, обратный код отрицательного числа формируется по правилам: в знаковом разряде записывается “1”; цифровые значения меняются на противоположные.

Рис. 3. 9.Примеры дробных чисел в дополнительном коде

На рис.3.10 указаны веса битов и приведено правило вычисления десятичного эквивалента, соответствующего двоичному целому числу в дополнительном коде.

На рис.3.11 указаны веса битов и приведено правило вычисления десятичного эквивалента, соответствующего двоичному дробному числу в дополнительном коде.

Сравнивая рис.3.10 и 3.11, еще раз подчеркнем, что одинаковое представление чисел с ФТ может иметь разную трактовку типа чисел, а следовательно, соответствовать разным числам.

Приводимые правила нетрудно распространить на любой формат.

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

Ноль в прямом коде может быть представлен и как 0000. 0 и как 1000. 0, а в дополнительном коде только как 0000. 0. Это легко проверить, вычислив для чисел, представленных в дополнительном коде, их десятичные эквиваленты:

_ 2 7 2 6 2 5 2 4 2 3 2 2 2 1 2 0

б) дополнительный код

положительного целого числа

(2 6 + 2 4 + 2 2 + 2 0 ) = 83

в) дополнительный код

отрицательного целого числа

_ 2 7 + 2 5 + 2 3 + 2 2 = _ 84

Рис. 3.10.Десятичный эквивалент двоичного целого числа в дополнительном коде

дополнительный код дробного числа. image005. дополнительный код дробного числа фото. дополнительный код дробного числа-image005. картинка дополнительный код дробного числа. картинка image005. Пример перевода x1=10101-пр=010101 x2=-11101-пр=111101 x3=0,101-пр=0,101 x4=-0,111-пр=1,111 2) Обратный код числа, используется для выполнения арифметических операций вычитания, умножения, деления, через сложение. Обратный код положительного числа совпадает с его прямым кодом, обратный код отрицательного числа формируется по правилам: в знаковом разряде записывается “1”; цифровые значения меняются на противоположные.

б) дополнительный код

положительного дробного числа

дополнительный код дробного числа. image006. дополнительный код дробного числа фото. дополнительный код дробного числа-image006. картинка дополнительный код дробного числа. картинка image006. Пример перевода x1=10101-пр=010101 x2=-11101-пр=111101 x3=0,101-пр=0,101 x4=-0,111-пр=1,111 2) Обратный код числа, используется для выполнения арифметических операций вычитания, умножения, деления, через сложение. Обратный код положительного числа совпадает с его прямым кодом, обратный код отрицательного числа формируется по правилам: в знаковом разряде записывается “1”; цифровые значения меняются на противоположные.

в) дополнительный код

отрицательного дробного числа

дополнительный код дробного числа. image007. дополнительный код дробного числа фото. дополнительный код дробного числа-image007. картинка дополнительный код дробного числа. картинка image007. Пример перевода x1=10101-пр=010101 x2=-11101-пр=111101 x3=0,101-пр=0,101 x4=-0,111-пр=1,111 2) Обратный код числа, используется для выполнения арифметических операций вычитания, умножения, деления, через сложение. Обратный код положительного числа совпадает с его прямым кодом, обратный код отрицательного числа формируется по правилам: в знаковом разряде записывается “1”; цифровые значения меняются на противоположные.

Рис.3. 11.Десятичный эквивалент двоичного дробного числа в дополнительном коде

На рис. 3.12 приведены примеры максимальных и минимальных по модулю значений для положительного и отрицательного целых чисел в дополнительном коде в формате “слово” длиной 8 битов и их десятичные эквиваленты. Десятичные эквиваленты целых чисел для формата “слово” длины n битов (где n = b+1, b _ количество значащих битов) равны:

2 b _ 1 _ максимальное положительное;

1 _ минимальное положительное;

_ 2 b _ максимальное по модулю отрицательное;

_ 1 _ минимальное по модулю отрицательное.

а) максимальное положительное

б) минимальное положительное целое число

в) максимальное по модулю

отрицательное целое число

г) минимальное по модулю

отрицательное целое число

Рис. 3. 12.Максимальные и минимальные целые числа в дополнительном коде

На рис. 3.13 приведены примеры максимальных и минимальных значений для положительного и отрицательного дробных чисел в дополнительном коде в формате Q7 и их десятичные эквиваленты. Десятичные эквиваленты дробных чисел в формате Qb длины равны:

1 _ 2 – b _ максимальное положительное;

2 – b _ минимальное положительное;

_ 1 _ максимальное по модулю отрицательное;

_ 2 – b _ минимальное по модулю отрицательное.

а) максимальное положительное

дополнительный код дробного числа. image008. дополнительный код дробного числа фото. дополнительный код дробного числа-image008. картинка дополнительный код дробного числа. картинка image008. Пример перевода x1=10101-пр=010101 x2=-11101-пр=111101 x3=0,101-пр=0,101 x4=-0,111-пр=1,111 2) Обратный код числа, используется для выполнения арифметических операций вычитания, умножения, деления, через сложение. Обратный код положительного числа совпадает с его прямым кодом, обратный код отрицательного числа формируется по правилам: в знаковом разряде записывается “1”; цифровые значения меняются на противоположные.

б) минимальное положительное

дополнительный код дробного числа. image008. дополнительный код дробного числа фото. дополнительный код дробного числа-image008. картинка дополнительный код дробного числа. картинка image008. Пример перевода x1=10101-пр=010101 x2=-11101-пр=111101 x3=0,101-пр=0,101 x4=-0,111-пр=1,111 2) Обратный код числа, используется для выполнения арифметических операций вычитания, умножения, деления, через сложение. Обратный код положительного числа совпадает с его прямым кодом, обратный код отрицательного числа формируется по правилам: в знаковом разряде записывается “1”; цифровые значения меняются на противоположные.

в) максимальное по модулю

отрицательное дробное число

дополнительный код дробного числа. image006. дополнительный код дробного числа фото. дополнительный код дробного числа-image006. картинка дополнительный код дробного числа. картинка image006. Пример перевода x1=10101-пр=010101 x2=-11101-пр=111101 x3=0,101-пр=0,101 x4=-0,111-пр=1,111 2) Обратный код числа, используется для выполнения арифметических операций вычитания, умножения, деления, через сложение. Обратный код положительного числа совпадает с его прямым кодом, обратный код отрицательного числа формируется по правилам: в знаковом разряде записывается “1”; цифровые значения меняются на противоположные.

г) минимальное по модулю

отрицательное дробное число

дополнительный код дробного числа. image009. дополнительный код дробного числа фото. дополнительный код дробного числа-image009. картинка дополнительный код дробного числа. картинка image009. Пример перевода x1=10101-пр=010101 x2=-11101-пр=111101 x3=0,101-пр=0,101 x4=-0,111-пр=1,111 2) Обратный код числа, используется для выполнения арифметических операций вычитания, умножения, деления, через сложение. Обратный код положительного числа совпадает с его прямым кодом, обратный код отрицательного числа формируется по правилам: в знаковом разряде записывается “1”; цифровые значения меняются на противоположные.

Рис. 3. 13.Максимальные и минимальные дробные числа в дополнительном коде

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

Трактовка типа чисел, представленных в дополнительном коде в формате ”слово”, весьма важна при сохранении этих чисел в форматах “двойное слово” и “расширенное слово”. Рассмотрим два примера.

Пример 1.Число, представленное в дополнительном коде в формате “слово” длиной 8 битов (n = 8), сохраняется в формате “двойное слово” длиной 2n (рис.3.14).

В зависимости от типа данных выполняются следующие действия:

для целых чисел (рис.3.14, а):

число (со знаком) в дополнительном коде сохраняется в младшем слове LSP с выравниванием по правому краю;

в старшем слове MSP и в ”лишних” старших битах младшего слова LSP происходит расширение знака;

знаковым становится старший бит MSB слова MSP : LSP;

для дробных чисел (рис. 3.14, б):

число (со знаком) в дополнительном коде сохраняется в старшем слове MSP с выравниванием по левому краю;

знаковым становится старший бит MSB слова MSP : LSP;

биты младшего слова LSP и “лишние” младшие биты старшего слова MSP заполняются нулями.

Пример 2.Число, представленное в дополнительном коде в формате “слово” длиной 8 битов (n = 8) сохраняется в формате “расширенное слово” длиной k = 20. Независимо от типа данных выполняются следующие действия (рис.3.15, а, б):

число (со знаком) в дополнительном коде размещается в слове MSP:LSP (см. выше);

в расширении EXT происходит расширение знака;

знаковым становится старший бит MSB слова EXT: MSP: LSP.

Из приведенных примеров видно, что расширение знака числа, представленного в дополнительном коде, не меняет его значения (см. десятичные эквиваленты на рис.3.14 и 3.15).Это преимущество дополнительного кода используется, в частности, в операциях пересылок данных, когда изменяется формат их представления (см.разд.3.7.10).

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

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *