Арифметические действия в системах счисления с основанием, отличным от 10 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Арифметические действия в системах счисления с основанием, отличным от 10



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

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

Таблица 1

Сложение Вычитание Умножение
0 + 0 = 0 0 – 0 = 0 0 ∙ 0 = 0
0 + 1 = 1 1 – 0 = 1 0 ∙ 1 = 0
1 + 0 = 1 1 – 1 = 0 1 ∙ 0 = 0
1 + 1 = 10 10 – 1 = 1 1 ∙ 1 = 1

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

               

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

Рассмотрим операции умножения и деления двоичных чисел.

           

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

Пример: Перевести число 1011110112 в десятичную систему счисления.

Поскольку 1010 = 10102, запишем

Полученные остатки, =10012 = 910, =1112 = 710, =112 = 310. Искомое число 1011110112 = 37910.

В случае перевода чисел из одной недесятичной системы в другую возникает сложность выполнения действий в недесятичной системе счисления. В этом случае удобнее может быть делать перевод в два этапа m à 10 à q, где m и q – основания систем счисления соответственно.

Двоично-восьмеричные и двоично-шестнадцатеричные преобразования

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

Рассмотрим перевод чисел из двоичной системы счисления в восьмеричную.

Запишем число x в полиномиальной форме. Получим

Разделим обе части полученного выражения на 8. Учитывая, что 8 = 23, получим

.

Таким образом, остаток от деления , что является двоичным разложением десятичного числа, лежащего в диапазоне [0; 7] (для изображения данной десятичной цифры в двоичной системе счисления требуется 3 разряда).

Таким образом, чтобы преобразовать двоичное число в восьмеричное, нужно объединить двоичные цифры в группы по 3 разряда справа налево. При необходимости в начале исходного числа нужно добавить незначащие нули. Затем каждая триада заменяется восьмеричной цифрой.

Пример: Преобразовать число 11011102 в восьмеричную систему счисления.

Объединяем двоичные цифры триады справа налево. Получаем

001 101 1102 = 1568.

Аналогичным образом производятся преобразования из двоичной системы счисления в шестнадцатеричную, только двоичные цифры объединяются в группы по 4 разряда (тетрады).

Пример: Преобразовать число 11011102 в шестнадцатеричную систему счисления.

Объединяем двоичные цифры триады справа налево. Получаем

0110 11102 = 6E16.

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

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

Число со знаком в вычислительной технике представляется путем добавления еще одного разряда к величине самого числа. Принято считать, что «0» в знаковом разряде означает знак «плюс» для данного числа, а «1» – знак «минус».

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

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

При представлении чисел в прямом коде значащая часть положительных и отрицательных чисел совпадает. Отличие состоит лишь в знаковом разряде. В прямом коде число «0» имеет два представления «+0» и «–0».

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

Дополнительный код для положительных чисел имеет тот же вид, что и прямой код, а для отрицательных чисел образуется путем прибавления «1» к обратному коду. Добавление «1» к обратному коду числа «0»: 1111 теперь дает 0000. Таким образом, дополнительный код числа «0» имеет одно значение. Однако это приводит к асимметрии диапазонов представления чисел относительно нуля. Так, в шестнадцатиразрядном представлении диапазон изменения чисел с учетом знака

-32768 £ x £ 32767.

Ниже приведена таблица прямого, обратного и дополнительного кода некоторых чисел.

Таблица 2



Поделиться:


Последнее изменение этой страницы: 2020-12-09; просмотров: 341; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.139.238.76 (0.009 с.)