Пред.
След.
Макеты страниц
Распознанный текст, спецсимволы и формулы могут содержать ошибки, поэтому с корректным вариантом рекомендуем ознакомиться на отсканированных изображениях учебника выше Также, советуем воспользоваться поиском по сайту, мы уверены, что вы сможете найти больше информации по нужной Вам тематике ДЛЯ СТУДЕНТОВ И ШКОЛЬНИКОВ ЕСТЬ
ZADANIA.TO
7.2. АРИФМЕТИЧЕСКИЕ ОПЕРАЦИИ В МИНУС-ДВОИЧНОЙ СИСТЕМЕ СЧИСЛЕНИЯОсобенностью этой системы счисления является представление положительных и отрицательных чисел единым кодом. Знак числа при этом определяется четностью или нечетностью старшей значащей цифры в его изображении, а количественный эквивалент — следующим соотношением При количестве разрядов абсолютная величина числа А не может быть больше, чем [38]
где для целого x. Наибольшее значение абсолютной величины числа противоположного знака А определяется при подстановке Тогда, учитывая, что получим
Как следует из выражений (7.2) и (7.3), диапазон представления положительных и отрицательных чисел при фиксированной длине машинных слоев отличается приблизительно в два раза. Прежде чем приступить к выполнению арифметических действий, необходимо научиться переводить числа из двоичной в минус-двоичную систему счисления и наоборот. При переводе из двоичной системы счисления можно использовать тот факт, что количественный эквивалент числа А в минус-двоичной системе счисления есть разность сумм количественных эквивалентов разрядов с четными и нечетными номерами, т. е. , а количественный эквивалент числа А в двоичной системе составит . Если рассматривать исходное двоичное положительное число В в качестве минус-двоичного числа А, то получим Так как количественные эквиваленты исходного и переведенного чисел должны быть равны, то к значению надо прибавить в минус-двоичном коде величину Таким образом, для перевода положительных двоичных чисел в минус-двоичную систему счисления необходимо из исходного слова В сформировать новое слово которого разряды с нечетными номерами совпадают с исходными, а разряды с четными — нули Затем из слова В путем сдвига на один разряд влево получить слово В" и прибавить его в минус-двоичной системе счисления к исходному слону В. Пример. Задано В» Найти его представление минус-двоичной системе счисления. Формируем В, у которого все четные разряды нули, а нечетные совпадают со значением нечетных разрядов числа В, т. е. Сдвигаем на один разряд плево и получаем После сложения получим проверки переводим в десятичную систему счисления
При переводе отрицательного числа, заданного прямым кодом, необходимо исходного сформировать новое число, у которого все нечетные разряды есть нули, а четные разряды совпадают с четными разрядами исходного кода. Затем это число надо сдвинуть на один разряд плево и сложить в исходным по правилам минус-двоичной арифметики. Для отрицательных чисел, заданных в дополнительном коде, перевод ноиных разрядов производится по алгоритму перевода поло жительных чисел, а знакового — по правилу перевода отрицательных чисел, заданных прямым кодом. Это обстоятельство связано о тем, что количественный эквивалент дополнительного кода числа есть сумма положительного и отрицательного чисел. Пример. Задано перевести его в минус-двоичную систему счисления. Сформируем из знакового и основных разрядов два слова и Переведем раздельно эти числа по правилам перевода соответственно отрицательны» и положительных чисел и получим и Затем определим путем сложения чисел А и А, Количественный эквивалент переведенного числа, как и исходного, равен Следует отметить, что для представления двоичного числа, имеющего основных и один знаковый разряд, в минус-двоичной системе счисления на основании (7.2) и (7.3) потребуется разряда. Для обратного перевода в двоичную систему необходимо исходное слово А представить в виде двоичного слова которого четные разряды совпадают с четными разрядами исходного, а нечетные равны 0, и двоичного слова которого нечетные разряды совпадают с нечетными разрядами исходного, а четные есть нули. Затем из слова А вычесть слово и получить двоичный эквивалент числа А, т. е. Если действия необходимо выполнять в минус-двоичной системе, то исходное положительное число А вначале рассматривают как готовый результат перевода его в двоичную систему. Очевидно, что тогда в то время как Чтобы количественные эквиваленты Л и В были одинаковы, необходимо из Л вычесть удвоенное значение суммы всех нечетных разрядов, т. е. Пример. Задано перевести его в двоичную систему счисления. Вначале из нечетных разрядов А формируем сдвигаем его на один разряд влево и получаем Затем из А вычитаем Если исходное число Л отрицательно, то для получения прямого кода двоичного числа необходимо из А вычесть в минус-двоичной системе счисления удвоенное значение четных разрядов. Для получения дополнительного кода надо из исходного числа А вычесть удвоенное значение всех нечетных разрядов, кроме самого старшего, определяющего знак. Пример. Задано Найти его изображение дополнительным кодом в двоичной системе. Формируем слово А из всех нечетных разрядов, кроме старшего Сдвигаем А на разряд влево: Вычтем и получим . Алгебраическое сложение в минус-двоичной системе счисленияСпецифика сложения в минус-двоичной системе обусловлена тем, что веса соседних разрядов имеюг разные знаки Поэтому единица переноса из предыдущего разряда должна вычитаться из значения еуммы данного разряда, а не прибавляться к нему Если при этом данные разряды обоих слагаемых равны 0, то значению разрядной суммы присваивается величина 1, а значению переноса — величина Добавление по единице в два соседних разряда равносильно вычитанию единицы из младшего из них, так как знаки весов соседних разрядов противоположны. С учетом изложенного табл. 7.2 поразрядного Таблица 7.2
Таблица 7.3
сложения в минус-двоичной системе счисления будет иметь следующий вид: Как видно из таблицы, при сложении и шшус-двоичной системе необходимо определять значение переноса двух типов переноса — что усложняет операцию. Перенос разряд можно заменить на два переноса со значением разряды, так как добавление по единице в два соседних разряда числа о минус-двоичиой системе счисления эквивалентно вычитанию I из младшего разряда. В этом случае в каждом рачряде необходимо формировать два переноса с учетом которых образуются значения разрядных сумм. Табл. 7.3 сложения примет при этом следующий вид. При вычитании в минус-двоичной системе счисления из числа А числа В можно вначале поменять знак числа В на противоположный, а затем прибавить его к числу А. Так как все разряды числа В при этом должны иметь противоположный знак, то для сохранения количественного эквивалента необходимо к исходному числу В прибавить т. е. число сдвинутое на один разряд влево. В результате получим исходное число В, но о противоположным знаком. Пример. Задано Найти А в минус-двоичной системе. Пнячпле удваиваем число А и получаем Складываем в получаем количественный эквивалент которого составляет Тпким образом, операция вычитания в минус-двоичной системе счислении при отмеченном способе изменения знака операнда выполняется два такта сложения, что является недостатком. Недостатком являются также более сложные по сравнению с двоичной системой процедуры определения переполнения разрядной сетки и округления результата. Умножение и деление чисел в минус-двоичной системе счисленияУмножение чисел в минус-двоичной системе счисления выполняется так же, как и умножение прямых кодов положительных чисел в обычной двоичной системе счисления, т. е. путем сложения всех частичных произведений вида где — цифры множителя. При этом учитывается, что сдвиг числа в минус-двоичной системе с числения не только изменяют вдвое его величину, но и знак на противоположный. Произведение сразу получается с правильным знаком, так как знаки операндов определены весом старшей значащей цифры, т. анализ знака операндов не требуется. При этом, если операнды имели по разрядов, то произведение согласно (7.2) будет иметь разряда, что обусловлено спецификой представления чисел в минус-двоичной системе счисления. Пример. Заданы .
Результат равен его количественный эквивалент отставляет . Как видно из примера, умножение в минус-двоичной системе даже проще, чем в обычной двоичной за счет отсутствия этапа формирования знака результата. Операция деления в минус-двоичной системе счисления является наиболее сложной, так как на четных и нечетных шагах алгоритма должны формироваться цифры частного разных знаков. Для упрощения алгоритма вначале формируют частное в обычной двоичной системе с помощью алгоритма деления без восстановления остатка. Затем, по мере получения цифр частного, производят его перевод из двоичной в минус-двоичную систему счисления [38], Однако даже в этом случае выполнение операции деления в этой системе счисления заметно сложнее, чем в обычной двоичной. Таким образом, в минус-двоичной системе счисления просто выполняются операции сложения и умножения, а реализация операций вычитания и деления вызывает определенные трудности, правда трудности в реализации операции деления могут быть преодолены, например, путем использования итерационных схем деления, базирующихся на умножении.
|
1 |
Оглавление
|