Числовые коды, представление отрицательных чисел.

Кодом называется любое обозначение, отличное от общепринятого. Общепринято, например, положительные числа отмечать знаком «+» (или вообще не указывать знак), а отрицательные числа отмечать знаком «–». Числа разного знака необходимо уметь изображать состояниями элементов цифровой электроники. Для изображения знака числа вводится дополнительный знаковый разряд, причем состоянию «0» этого разряда соответствует знак «+», а состоянию «1» – знак «–». Такое изображение чисел со знаком называется прямым кодом Числовые коды, представление отрицательных чисел. - student2.ru числа X. Поскольку разрядность цифровых вычислительных устройств обычно кратна одному байту, то под знаковый разряд отводится крайний левый бит в старшем байте. Таким образом, если для представления чисел в цифровом устройстве предусмотрен один байт (8 бит), то знаковым будет восьмой разряд байта, а оставшиеся семь будут отведены для значащих разрядов числа, что сделает возможным оперировать с целыми числами в диапазоне от -127 до +127. Если же разрядность цифрового устройства 2 байт (16 бит), то знаковым будет шестнадцатый разряд, а значащими окажутся разряды с первого по пятнадцатый и т.д. Таким образом, прямой код целого Числа образуется по правилу: если число X положительно, то Числовые коды, представление отрицательных чисел. - student2.ru , Числовые коды, представление отрицательных чисел. - student2.ru ; если число X отрицательно, то Числовые коды, представление отрицательных чисел. - student2.ru , Числовые коды, представление отрицательных чисел. - student2.ru , где Числовые коды, представление отрицательных чисел. - student2.ru 16 и т.д.

Обратный код числа образуется инвертированием всех разрядов прямого кода числа, кроме знакового. Операция инвертирования заключается в поразрядной замене нулей на единицы и единиц на нули. Таким образом, если число X положительно, то Числовые коды, представление отрицательных чисел. - student2.ru , Числовые коды, представление отрицательных чисел. - student2.ru ; если число X отрицательно, то Числовые коды, представление отрицательных чисел. - student2.ru , Числовые коды, представление отрицательных чисел. - student2.ru ;где Числовые коды, представление отрицательных чисел. - student2.ru ,16 и т.д.

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

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

Дополнительный код числа будем обозначать как Числовые коды, представление отрицательных чисел. - student2.ru . При этом если в результате вычитания в знаковом разряде получается единица, то результат отрицательный и представлен в дополнительном коде, а если нуль – то положительный и представлен в прямом коде. В таблице 14.2 приводится пример кодов некоторых положительных и отрицательных десятичных чисел.

Таблица 14.2

Десятичное представление Двоичное представление Представление в прямом коде Числовые коды, представление отрицательных чисел. - student2.ru Представление в обратном коде Числовые коды, представление отрицательных чисел. - student2.ru Представление в дополнительном коде Числовые коды, представление отрицательных чисел. - student2.ru
-1 -1
-17 -10001
-70 -1000110

В процессе выполнения арифметических операций необходимо следить за тем, чтобы промежуточные и конечные результаты не выходили бы за пределы отведенной разрядной сетки. Для этих целей используют так называемый модифицированный дополнительный код Числовые коды, представление отрицательных чисел. - student2.ru . Согласно этому коду под знаковый отводится не один, а два разряда. Правила перевода в модифицированный дополнительный код такие же, как и в обычный дополнительный код. Отличие состоит в том, что в модифицированном дополнительном коде положительному числу в знаковых разрядах соответствуют два нуля, а отрицательному числу – две единицы. При этом если в результате некоторой арифметической операции в знаковых разрядах произошло чередование нуля и единицы (возникли комбинации 01 или 10), то имело место переполнение разрядной сетки и результат следует считать неверным.

В принципе логика выполнения арифметических операций в двоичной системе счисления наиболее проста. Это наглядно на примере сравнения таблиц умножения десятичных цифр с одной единственной таблицей умножения двоичных цифр, имеющей вид: Числовые коды, представление отрицательных чисел. - student2.ru ; Числовые коды, представление отрицательных чисел. - student2.ru ; Числовые коды, представление отрицательных чисел. - student2.ru ; Числовые коды, представление отрицательных чисел. - student2.ru .

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

В цифровых вычислительных устройствах для реализации операций быстрого деления и умножения числа на Числовые коды, представление отрицательных чисел. - student2.ru , где Числовые коды, представление отрицательных чисел. - student2.ru – целое положительное число, используются операции сдвига двоичного кода числа вправо или влево. Сдвинуть двоичный код влево на один разряд соответствует умножению его на 2, а вправо – делению на 2. Например, десятичному числу 8 соответствует двоичный код 00001000, а десятичному числу 16, равному удвоенному значению 8, двоичный код 00010000. Очевиден сдвиг кода влево на один разряд. Десятичному же числу 4, вдвое меньшему 8, соответствует двоичный код 00000100. Налицо сдвиг вправо на один разряд двоичного кода. При проектировании цифровых умножителей на произвольный коэффициент используется алгоритм традиционного умножения столбиком.

Контрольные вопросы

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

2 Отнимите из числа Числовые коды, представление отрицательных чисел. - student2.ru число Числовые коды, представление отрицательных чисел. - student2.ru и из числа Числовые коды, представление отрицательных чисел. - student2.ru число Числовые коды, представление отрицательных чисел. - student2.ru по правилам двоичной арифметики, используя дополнительные коды и операцию сложения.

3 Что такое модифицированный дополнительный код положительного числа.

Лекция 15

Наши рекомендации