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

Арифметика с алгебраическими двоично-десятичными числами

Представление двоично-десятичных чисел в обратном и дополнительном кодах поясняется следующими примерами.

Найти дополнительный и обратный двоично- десятичный коды чисел

Двоично-десятичный код заданных чисел будет

А2-10 = 0110 1001 0001 0111,

Непосредственно используя правило формирования прямого, дополнительного и обратного кодов, найдем:

пк] = 1. 0010 1000 0100 0111,

— 0010 1000 0100 0111 = В2-10

Простое инвертирования модуля [В] пк дает значение [В] ик (инверсный код), равное

1101 0111 1011 1000,

которое отличается от требуемой формы модуля обратного кода тем, что каждая тетрада имеет избыточную шестерку. Обозначим такой код как «[B]ок+6».

Таким образом, модуль обратного кода двоично-десятичного числа не может быть сформирован из модуля прямого кода за счет инвертирования, как это имеет место в случае двоичного кода. Однако инвертирование при формировании обратного кода двоично-десятичного числа может быть использовано, если предварительно во все двоично-десятичные разряды (тетрады) ввести избыточную шестёрку. В этом случае для числа В имеет место:

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

Данный подход иллюстрируется следующим примером.

Найти двоично-десятичные значения C1, C2, C3, C4, определяемых соответственно выражениями:

С1= А+В, С2=А-В, С3= В-А, С4=-А-В, используя модифицированный обратный код, если:

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

Прямой двоично-десятичный код заданных чисел имеет вид

[А]пк = 0. 0011 0111 1000 0011,

[B] пк = 1. 0101 0100 1001 0010.

Расчет выражений для C1, C2, C3, C4 осуществляется следующим образом.

00. 0 0 1 1 0 1 1 1 1 0 0 0 0 0 1 1 [А]мок

+ 11. 1 0 1 0 1 0 1 1 0 1 1 0 1 1 0 1 [B] ик = [B]ок+6

11. 1 1 1 0 1 0 0 0 1 1 1 1 0 1 1 0

При выполнении первого суммирования по правилам двоичной арифметики возникающий перенос (в тетрадах, отмеченных знаком *) унес лишнюю 6 (двоичный перенос унес из тетрады 16, а по правилам десятичного сложения он должен унести 10), что означает, что избыточная «6», введенная за счет использования инверсного кода числа вместо обратного, исчезает в тех тетрадах, где был перенос, и сохраняется в тетрадах, где перенос отсутствовал. Коррекция на +6 выполняется в тех тетрадах, где был перенос. Таким образом после коррекции во всех тетрадах будет иметь место избыточная 6, что позволяет перейти от такой записи к прямому коду результата за счет инвертирования записей всех тетрад модульной части.

0 0. 0 0 0 1 1 1 0 1 0 0 0 0 1 1 1 1

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

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

Таким образом, для определения С2 и С3 выполняются следующие действия:

0 1000 1100 0001 0101

Таким образом, [С2] пк =0. 1001 0110 0111 0101, [С3] пк =

=1. 1001 0110 0111 0101.

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

Источник

1.3. Арифметика с алгебраическими числами

1.3.1. Кодирование алгебраических чисел

Для представления чисел со знаком используются специальные коды:

Во всех трёх случаях используется следующий формат представления числа, содержащий два поля – поле знака и поле модуля (Рис 1.1).

Рис.1.1. Общий формат представления числа в ЭВМ

Поле знака представлено одним разрядом, в котором устанавливается 0, если число положительное, и 1, если число отрицательное.

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

В прямом коде запись целого числа А формируется по следующему правилу:

арифметика с алгебраическими числами двоичные кода и операции с двоичными кодами. img LPILPO. арифметика с алгебраическими числами двоичные кода и операции с двоичными кодами фото. арифметика с алгебраическими числами двоичные кода и операции с двоичными кодами-img LPILPO. картинка арифметика с алгебраическими числами двоичные кода и операции с двоичными кодами. картинка img LPILPO. Представление двоично-десятичных чисел в обратном и дополнительном кодах поясняется следующими примерами.

В дополнительном коде запись целого числа А формируется по следующему правилу:

арифметика с алгебраическими числами двоичные кода и операции с двоичными кодами. img zLrPfw. арифметика с алгебраическими числами двоичные кода и операции с двоичными кодами фото. арифметика с алгебраическими числами двоичные кода и операции с двоичными кодами-img zLrPfw. картинка арифметика с алгебраическими числами двоичные кода и операции с двоичными кодами. картинка img zLrPfw. Представление двоично-десятичных чисел в обратном и дополнительном кодах поясняется следующими примерами.

где n – разрядность модульного поля;

q – основание системы счисления;

Для случая правильной дроби запись числа А в дополнительном коде имеет вид:

арифметика с алгебраическими числами двоичные кода и операции с двоичными кодами. img BrJtbL. арифметика с алгебраическими числами двоичные кода и операции с двоичными кодами фото. арифметика с алгебраическими числами двоичные кода и операции с двоичными кодами-img BrJtbL. картинка арифметика с алгебраическими числами двоичные кода и операции с двоичными кодами. картинка img BrJtbL. Представление двоично-десятичных чисел в обратном и дополнительном кодах поясняется следующими примерами.

где 1 – максимальная невключенная граница диапазона изменения представляемых чисел, т. е. диапазон изменение чисел А определяется как 1 > | A | ≥ 0.

В обратном коде запись целого числа А формируется по следующему правилу:

арифметика с алгебраическими числами двоичные кода и операции с двоичными кодами. img fGTI19. арифметика с алгебраическими числами двоичные кода и операции с двоичными кодами фото. арифметика с алгебраическими числами двоичные кода и операции с двоичными кодами-img fGTI19. картинка арифметика с алгебраическими числами двоичные кода и операции с двоичными кодами. картинка img fGTI19. Представление двоично-десятичных чисел в обратном и дополнительном кодах поясняется следующими примерами.

где n – разрядность модульного поля;

q – основание системы счисления;

(2 n 1) – максимальная включенная граница диапазона изменения представляемых чисел, т. е. диапазон изменения чисел А определяется как (q n 1) ≥ | A | ≥ 0.

Для случая правильной дроби запись числа А в обратном коде имеет вид

арифметика с алгебраическими числами двоичные кода и операции с двоичными кодами. img u5zjIM. арифметика с алгебраическими числами двоичные кода и операции с двоичными кодами фото. арифметика с алгебраическими числами двоичные кода и операции с двоичными кодами-img u5zjIM. картинка арифметика с алгебраическими числами двоичные кода и операции с двоичными кодами. картинка img u5zjIM. Представление двоично-десятичных чисел в обратном и дополнительном кодах поясняется следующими примерами.

арифметика с алгебраическими числами двоичные кода и операции с двоичными кодами. img MCan6B. арифметика с алгебраическими числами двоичные кода и операции с двоичными кодами фото. арифметика с алгебраическими числами двоичные кода и операции с двоичными кодами-img MCan6B. картинка арифметика с алгебраическими числами двоичные кода и операции с двоичными кодами. картинка img MCan6B. Представление двоично-десятичных чисел в обратном и дополнительном кодах поясняется следующими примерами.где n разрядность поля модуля;

1 q –n – верхняя включенная граница представляемых чисел.

Т. о. диапазон изменения чисел А определяется с.о.:

Легко показать, что перевод отрицательного числа из обратного или дополнительного кода в прямой выполняется по тем же правилам, что и перевод числа из прямого кода в обратный или дополнительный:

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

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

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

При переводе двоичных чисел в качестве включенной и не включенной границы диапазона изменения абсолютных значений представляемых чисел используется соответственно 2 n и 2 n  1.

Представление двоичных чисел в прямом и обратном кодах поясняется следующими примерами.

Найди запись чисел А = 532 и В =  150 в прямом, дополнительном и обратном двоичных кодах.

Найдем запись заданных чисел в двоичной системе:

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

Найдем запись заданных чисел в прямом коде:

Найдем запись заданных чисел в дополнительном коде:

[B]дк: для определения модульной части прибавим к невключенной границе диапазона (2 n = 10000000000) число В:

10000000000 +(10010110) = 1101101010.

Найдем запись заданных чисел в обратном коде:

[B]ок: для определения модульной части прибавим к включенной границе диапазона (2 n  1= 1111111111) число В:

1111111111 + ( 10010110) = 1101101001,

Анализируя запись модульной части отрицательного числа С в обратном коде, можно заключить, что она представляет собой инверсию модульной части записи этого числа в прямом коде, т.е. 0 заменяется на 1, а 1 заменяется на 0. Отсюда вытекает правило формирования модуля обратного кода отрицательного двоичного числа:

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

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

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

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

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

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

Источник

5. Арифметика с алгебраическими числами

5.1. Кодирование алгебраических чисел

Для представления чисел со знаком используются специальные коды:

Рис. 1. Формат представления числа

Поле знака представлено одним разрядом, в котором устанавливается 0, если число положительное, и 1, если число отрицательное.

Поле модуля отражает количественную оценку числа и для каждого кода фор­мируется по-разному. Количество разрядов поля модуля определятся диапазоном изменения отображаемых чисел или точностью их представления.

В прямой код запись целого числа А формируется по следующему правилу:

арифметика с алгебраическими числами двоичные кода и операции с двоичными кодами. img Nwfrnm. арифметика с алгебраическими числами двоичные кода и операции с двоичными кодами фото. арифметика с алгебраическими числами двоичные кода и операции с двоичными кодами-img Nwfrnm. картинка арифметика с алгебраическими числами двоичные кода и операции с двоичными кодами. картинка img Nwfrnm. Представление двоично-десятичных чисел в обратном и дополнительном кодах поясняется следующими примерами.(4)

В дополнительном коде запись целого числа А формируется по следующему правилу:

арифметика с алгебраическими числами двоичные кода и операции с двоичными кодами. img 6fQOw5. арифметика с алгебраическими числами двоичные кода и операции с двоичными кодами фото. арифметика с алгебраическими числами двоичные кода и операции с двоичными кодами-img 6fQOw5. картинка арифметика с алгебраическими числами двоичные кода и операции с двоичными кодами. картинка img 6fQOw5. Представление двоично-десятичных чисел в обратном и дополнительном кодах поясняется следующими примерами.(5)

Для случая правильной дроби запись числа А в дополнительном коде имеет вид

арифметика с алгебраическими числами двоичные кода и операции с двоичными кодами. img. арифметика с алгебраическими числами двоичные кода и операции с двоичными кодами фото. арифметика с алгебраическими числами двоичные кода и операции с двоичными кодами-img. картинка арифметика с алгебраическими числами двоичные кода и операции с двоичными кодами. картинка img. Представление двоично-десятичных чисел в обратном и дополнительном кодах поясняется следующими примерами.(6)

арифметика с алгебраическими числами двоичные кода и операции с двоичными кодами. img 7WQfyV. арифметика с алгебраическими числами двоичные кода и операции с двоичными кодами фото. арифметика с алгебраическими числами двоичные кода и операции с двоичными кодами-img 7WQfyV. картинка арифметика с алгебраическими числами двоичные кода и операции с двоичными кодами. картинка img 7WQfyV. Представление двоично-десятичных чисел в обратном и дополнительном кодах поясняется следующими примерами.

В обратном коде запись целого числа А формируется по следующему правилу:

арифметика с алгебраическими числами двоичные кода и операции с двоичными кодами. img Eu1lMP. арифметика с алгебраическими числами двоичные кода и операции с двоичными кодами фото. арифметика с алгебраическими числами двоичные кода и операции с двоичными кодами-img Eu1lMP. картинка арифметика с алгебраическими числами двоичные кода и операции с двоичными кодами. картинка img Eu1lMP. Представление двоично-десятичных чисел в обратном и дополнительном кодах поясняется следующими примерами.(7)

Для случая правильной дроби запись числа В в обратном коде имеет вид

арифметика с алгебраическими числами двоичные кода и операции с двоичными кодами. img TwAMa. арифметика с алгебраическими числами двоичные кода и операции с двоичными кодами фото. арифметика с алгебраическими числами двоичные кода и операции с двоичными кодами-img TwAMa. картинка арифметика с алгебраическими числами двоичные кода и операции с двоичными кодами. картинка img TwAMa. Представление двоично-десятичных чисел в обратном и дополнительном кодах поясняется следующими примерами.(8)

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

5.2. Логические операции с двоичными кодами

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

суммирование по модулю 2 (обозначается mod 2);

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

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

Операция суммирования по модулю 2 выполняется над двумя кодами и гене­рирует код той же разрядности, что и операнды, у которого в некотором i-м разря­де находится единица, если два заданных операнда в i-м разряде имеется проти­воположные значения. Иногда эта операция называется «исключающее ИЛИ».

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

Сдвиг влево выполняется за счет установки в разряд значения, соответст­вующего исходному значению в ближайшем младшем разряде (освобождающий­ся самый правый т.е. самый младший, разряд заполняется 0, а «выталкиваемый» разряд пропадает). Например, код 11001110 после сдвига влево будет иметь вид 10011100.

Сдвиг вправо выполняется за счет установки в разряд значения, соответст­вующего исходному значению в ближайшем старшем разряде (в освобождаю­щийся самый левый, т.е. самый старший, разряд заполняется 0, «выталкиваемый» разряд пропадает). Например, код 11001110 после сдвига влево будет иметь вид 01100111.

Арифметические сдвиги обеспечивают выполнения умножения (сдвиги влево) или операции деления (сдвиги вправо) двоичных кодов на два, точно так же, как сдвиги вправо и влево десятичного числа обеспечивают выполнение деления и умножение на 10.

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

Источник

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

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

арифметика с алгебраическими числами двоичные кода и операции с двоичными кодами. Pryamoy obratnyiy i dopolnitelnyiy kod. арифметика с алгебраическими числами двоичные кода и операции с двоичными кодами фото. арифметика с алгебраическими числами двоичные кода и операции с двоичными кодами-Pryamoy obratnyiy i dopolnitelnyiy kod. картинка арифметика с алгебраическими числами двоичные кода и операции с двоичными кодами. картинка Pryamoy obratnyiy i dopolnitelnyiy kod. Представление двоично-десятичных чисел в обратном и дополнительном кодах поясняется следующими примерами.
Мы знаем, что десятичное число можно представить в двоичном виде. К примеру, десятичное число 100 в двоичном виде будет равно 1100100, или в восьмибитном представлении 0110 0100. А как представить отрицательное десятичное число в двоичном виде и произвести с ним арифметические операции? Для этого и предназначены разные способы представления чисел в двоичном коде.
Сразу отмечу, что положительные числа в двоичном коде вне зависимости от способа представления (прямой, обратный или дополнительный коды) имеют одинаковый вид.

Прямой код

арифметика с алгебраическими числами двоичные кода и операции с двоичными кодами. Znakovyiy razryad pryamogo koda. арифметика с алгебраическими числами двоичные кода и операции с двоичными кодами фото. арифметика с алгебраическими числами двоичные кода и операции с двоичными кодами-Znakovyiy razryad pryamogo koda. картинка арифметика с алгебраическими числами двоичные кода и операции с двоичными кодами. картинка Znakovyiy razryad pryamogo koda. Представление двоично-десятичных чисел в обратном и дополнительном кодах поясняется следующими примерами.

Обратный код

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

арифметика с алгебраическими числами двоичные кода и операции с двоичными кодами. Dvoichnoe chislo v obratnom kode. арифметика с алгебраическими числами двоичные кода и операции с двоичными кодами фото. арифметика с алгебраическими числами двоичные кода и операции с двоичными кодами-Dvoichnoe chislo v obratnom kode. картинка арифметика с алгебраическими числами двоичные кода и операции с двоичными кодами. картинка Dvoichnoe chislo v obratnom kode. Представление двоично-десятичных чисел в обратном и дополнительном кодах поясняется следующими примерами.

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

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

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

арифметика с алгебраическими числами двоичные кода и операции с двоичными кодами. Predstavlenie chisel v dopolnitelnom kode. арифметика с алгебраическими числами двоичные кода и операции с двоичными кодами фото. арифметика с алгебраическими числами двоичные кода и операции с двоичными кодами-Predstavlenie chisel v dopolnitelnom kode. картинка арифметика с алгебраическими числами двоичные кода и операции с двоичными кодами. картинка Predstavlenie chisel v dopolnitelnom kode. Представление двоично-десятичных чисел в обратном и дополнительном кодах поясняется следующими примерами.

арифметика с алгебраическими числами двоичные кода и операции с двоичными кодами. Dopolnitelnyiy kod. арифметика с алгебраическими числами двоичные кода и операции с двоичными кодами фото. арифметика с алгебраическими числами двоичные кода и операции с двоичными кодами-Dopolnitelnyiy kod. картинка арифметика с алгебраическими числами двоичные кода и операции с двоичными кодами. картинка Dopolnitelnyiy kod. Представление двоично-десятичных чисел в обратном и дополнительном кодах поясняется следующими примерами.

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

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

арифметика с алгебраическими числами двоичные кода и операции с двоичными кодами. rating on. арифметика с алгебраическими числами двоичные кода и операции с двоичными кодами фото. арифметика с алгебраическими числами двоичные кода и операции с двоичными кодами-rating on. картинка арифметика с алгебраическими числами двоичные кода и операции с двоичными кодами. картинка rating on. Представление двоично-десятичных чисел в обратном и дополнительном кодах поясняется следующими примерами.арифметика с алгебраическими числами двоичные кода и операции с двоичными кодами. rating on. арифметика с алгебраическими числами двоичные кода и операции с двоичными кодами фото. арифметика с алгебраическими числами двоичные кода и операции с двоичными кодами-rating on. картинка арифметика с алгебраическими числами двоичные кода и операции с двоичными кодами. картинка rating on. Представление двоично-десятичных чисел в обратном и дополнительном кодах поясняется следующими примерами.арифметика с алгебраическими числами двоичные кода и операции с двоичными кодами. rating on. арифметика с алгебраическими числами двоичные кода и операции с двоичными кодами фото. арифметика с алгебраическими числами двоичные кода и операции с двоичными кодами-rating on. картинка арифметика с алгебраическими числами двоичные кода и операции с двоичными кодами. картинка rating on. Представление двоично-десятичных чисел в обратном и дополнительном кодах поясняется следующими примерами.арифметика с алгебраическими числами двоичные кода и операции с двоичными кодами. rating on. арифметика с алгебраическими числами двоичные кода и операции с двоичными кодами фото. арифметика с алгебраическими числами двоичные кода и операции с двоичными кодами-rating on. картинка арифметика с алгебраическими числами двоичные кода и операции с двоичными кодами. картинка rating on. Представление двоично-десятичных чисел в обратном и дополнительном кодах поясняется следующими примерами. арифметика с алгебраическими числами двоичные кода и операции с двоичными кодами. rating half. арифметика с алгебраическими числами двоичные кода и операции с двоичными кодами фото. арифметика с алгебраическими числами двоичные кода и операции с двоичными кодами-rating half. картинка арифметика с алгебраическими числами двоичные кода и операции с двоичными кодами. картинка rating half. Представление двоично-десятичных чисел в обратном и дополнительном кодах поясняется следующими примерами.(34 голосов, оценка: 4,68 из 5)

Источник

5. Арифметика с алгебраическими числами

5.1. Кодирование алгебраических чисел

Для представления чисел со знаком используются специальные коды:

Рис. 1. Формат представления числа

Поле знака представлено одним разрядом, в котором устанавливается 0, если число положительное, и 1, если число отрицательное.

Поле модуля отражает количественную оценку числа и для каждого кода фор­мируется по-разному. Количество разрядов поля модуля определятся диапазоном изменения отображаемых чисел или точностью их представления.

В прямой код запись целого числа А формируется по следующему правилу:

арифметика с алгебраическими числами двоичные кода и операции с двоичными кодами. img Nwfrnm. арифметика с алгебраическими числами двоичные кода и операции с двоичными кодами фото. арифметика с алгебраическими числами двоичные кода и операции с двоичными кодами-img Nwfrnm. картинка арифметика с алгебраическими числами двоичные кода и операции с двоичными кодами. картинка img Nwfrnm. Представление двоично-десятичных чисел в обратном и дополнительном кодах поясняется следующими примерами.(4)

В дополнительном коде запись целого числа А формируется по следующему правилу:

арифметика с алгебраическими числами двоичные кода и операции с двоичными кодами. img 6fQOw5. арифметика с алгебраическими числами двоичные кода и операции с двоичными кодами фото. арифметика с алгебраическими числами двоичные кода и операции с двоичными кодами-img 6fQOw5. картинка арифметика с алгебраическими числами двоичные кода и операции с двоичными кодами. картинка img 6fQOw5. Представление двоично-десятичных чисел в обратном и дополнительном кодах поясняется следующими примерами.(5)

Для случая правильной дроби запись числа А в дополнительном коде имеет вид

арифметика с алгебраическими числами двоичные кода и операции с двоичными кодами. img. арифметика с алгебраическими числами двоичные кода и операции с двоичными кодами фото. арифметика с алгебраическими числами двоичные кода и операции с двоичными кодами-img. картинка арифметика с алгебраическими числами двоичные кода и операции с двоичными кодами. картинка img. Представление двоично-десятичных чисел в обратном и дополнительном кодах поясняется следующими примерами.(6)

арифметика с алгебраическими числами двоичные кода и операции с двоичными кодами. img 7WQfyV. арифметика с алгебраическими числами двоичные кода и операции с двоичными кодами фото. арифметика с алгебраическими числами двоичные кода и операции с двоичными кодами-img 7WQfyV. картинка арифметика с алгебраическими числами двоичные кода и операции с двоичными кодами. картинка img 7WQfyV. Представление двоично-десятичных чисел в обратном и дополнительном кодах поясняется следующими примерами.

В обратном коде запись целого числа А формируется по следующему правилу:

арифметика с алгебраическими числами двоичные кода и операции с двоичными кодами. img Eu1lMP. арифметика с алгебраическими числами двоичные кода и операции с двоичными кодами фото. арифметика с алгебраическими числами двоичные кода и операции с двоичными кодами-img Eu1lMP. картинка арифметика с алгебраическими числами двоичные кода и операции с двоичными кодами. картинка img Eu1lMP. Представление двоично-десятичных чисел в обратном и дополнительном кодах поясняется следующими примерами.(7)

Для случая правильной дроби запись числа В в обратном коде имеет вид

арифметика с алгебраическими числами двоичные кода и операции с двоичными кодами. img TwAMa. арифметика с алгебраическими числами двоичные кода и операции с двоичными кодами фото. арифметика с алгебраическими числами двоичные кода и операции с двоичными кодами-img TwAMa. картинка арифметика с алгебраическими числами двоичные кода и операции с двоичными кодами. картинка img TwAMa. Представление двоично-десятичных чисел в обратном и дополнительном кодах поясняется следующими примерами.(8)

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

5.2. Логические операции с двоичными кодами

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

суммирование по модулю 2 (обозначается mod 2);

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

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

Операция суммирования по модулю 2 выполняется над двумя кодами и гене­рирует код той же разрядности, что и операнды, у которого в некотором i-м разря­де находится единица, если два заданных операнда в i-м разряде имеется проти­воположные значения. Иногда эта операция называется «исключающее ИЛИ».

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

Сдвиг влево выполняется за счет установки в разряд значения, соответст­вующего исходному значению в ближайшем младшем разряде (освобождающий­ся самый правый т.е. самый младший, разряд заполняется 0, а «выталкиваемый» разряд пропадает). Например, код 11001110 после сдвига влево будет иметь вид 10011100.

Сдвиг вправо выполняется за счет установки в разряд значения, соответст­вующего исходному значению в ближайшем старшем разряде (в освобождаю­щийся самый левый, т.е. самый старший, разряд заполняется 0, «выталкиваемый» разряд пропадает). Например, код 11001110 после сдвига влево будет иметь вид 01100111.

Арифметические сдвиги обеспечивают выполнения умножения (сдвиги влево) или операции деления (сдвиги вправо) двоичных кодов на два, точно так же, как сдвиги вправо и влево десятичного числа обеспечивают выполнение деления и умножение на 10.

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

Источник

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

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