Двоичная арифметика. Тема урока: "Двоичная арифметика" Правила сложения и умножения положительных двоичных чисел

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

Правила двоичной арифметики

Сложение и вычитание двоичных чисел основаны на правилах этих действий в пределах одного разряда и правилах учета межразрядных переносов и займов.

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

Таблица 3.1

Правила арифметических операций

Перенос, возникающий в i -м разряде, передается в следующий (i +1)-разряд с увеличенным вдвое весом и уменьшенным вдвое значением.

Заем из (i +1)-го разряда передается в i-й разряд с уменьшенным вдвое весом и увеличенным вдвое значением.

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

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

единица из разряда с весом 2 4 была занята в разряд с весом 2 3 ; эта единица стала там двойкой, и в разряде с весом 2 3 выполнилось вычитание 10-1 = 1; на месте разряда с весом 2 4 в уменьшаемом фактически остался нуль.

Распространение займа сразу на несколько более старших разрядов можно проследить на примере вычитания чисел 101110,001 (2) и 101,011 (2) . Записав числа друг под другом:

нетрудно заметить, что в разряде с весом 2 -2 в результате вычитания должен произойти заем из разряда с весом 2 1 . Перепишем пример с учетом фактического расположения цифр после заема и выполним вычитание. Вместо зачеркнутых цифр необходимо использовать в качестве уменьшаемого надписанные цифры. Окончательный результат (разность) составляет 101000,110 (2) .

Пример . Уменьшаемое 1000000 (2) , вычитаемое 1 (2) , разность составляет

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

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

В основном арифметические операции выполняются на одном общем устройстве, называемом арифметико-логическим устройством (АЛУ).

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

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

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

A B = C в любой позиционной системы счисления начинаются с младших разрядов.

Код суммы каждго i -того разряда с i получается в результате сложения

a i + b i +1, где единица соответствует переносу из младшего (i - 1)-разряда в i -тый, если в младшем разряде код суммы получился больше или равным основанию системы счисления.

Код разности каждого i -того разряда получается в результате вычитания

a i - b i -1, где единица соответствует заему, если он был, в младшие разряды величины, равной основанию системы счисления.

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

Теперь рассмотрим правила арифметики с числами, представленными в двоичном коде.

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

1 + 1 = 0 и осуществляется перенос 1 в старший соседний разряд.

Например:

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

0 - 1 =1 после заема единицы из соседнего старшего разряда.

Например:

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

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

0 x 0 = 0 101 510 x 310 = 1510

0 x 1 = 0 11

1 x 1 = 1 + 101

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

Например:

110: 11 = 10 610: 310 = 210

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

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

ai HS S ci ai SM S ci

bi P Pi Pi-1 P Pi

Рис.2.1 Условное обозначение полусумматора (а)

и двоичного сумматора (б).

Здесь a i и b i это i -тые разряды чисел А и В, которые складываются, а c i - i -тый разряд суммы этих чисел, Pi - перенос из данного разряда в соседний следующий старший, Pi-1 - перенос из соседнего младшего в данный разряд.

Если для представления двоичных чисел А, В, С и их знаков выделена

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

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

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

A+B=C можно представить следующим образом:

где Рr - некоторые регистры, в которые записываются двоичные числа А, В и С; СM - сумматор, точнее группа сумматоров n SM, где n - длина разрядной сетки, отведенной для представления чисел А, В и С.

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

Кроме этих операций в цифровых автоматах, компьютерах, выполняется еще одна операция над двоичными числами - это сдвиг числа по разрядной сетке влево или вправо. В случае сдвига влево фактически осуществляется умножение двоичного числа на 2, а при сдвиге вправо - деление на 2, где - количество разрядов, на которое сдвигается двоичное число. Например: 0000112= 310 сдвинем влево на 2 разряда, получим 0011002 = 1210, т.е.

3х4(22) = 1210, а теперь 0010002 = 810 сдвинем на 2 разряда вправо, получим 0000102 = 210, т.е. 8:4(22) = 210.

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

Двоичная арифметика

Наименование параметра Значение
Тема статьи: Двоичная арифметика
Рубрика (тематическая категория) Информатика

Двоичная система счисления

Системы счисления, используемые при работе с ЭВМ

Основание Р = 2. Алфавит включает две двоичные цифры: 0, 1. Любое число C = C n C n-1 …C 1 C 0 C -1 C -m есть сумма степеней числа Р = 2,

C = C n × 2 n +C n-1 × 2 n-1 +…+C 1 × 2 1 +C 0 × 2 0 +C -1 × 2 -1 +…+C -m × 2 -m

Пример 3.6.

101011,11 2 =1×2 5 + 0×2 4 + 1×2 3 + 0×2 2 +1×2 1 + 1×2 0 +1×2 -1 + 1×2 -2 = 32+8+2+1+0,5+0,25=43,75 10 .

Веса разрядов в двоичной системе счисления равны 1, 4, 8,16,... влево от запятой и 0,5; 0,25; 0,125; 0,625;... вправо от запятой.

При программировании иногда используется шестнадцатеричная система счисления. Для изображения цифр, больших 9, в шестнадцатеричной системе счисления применяются латинские буквы A, B, C, D, E, F. Изображения первых шестнадцати чисел в десятичной, двоичной и шестнадцатеричной системах счисления приведены в табл. 2.

Таблица кодов в различных системах счисления

Таблица 2

Десятичная система Двоичная система Шестнад-цатеричная система Десятичная система Двоичная система Шестнад-цатеричная система
А
B
C
D
E
F

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

Пример 3.7.

Десятичное число 9703 в двоично-десятичной системе выглядит так: 1001 0111 0000 0011.

Преимущество двоичной системы счисления над десятичной с точки зрения ЦВМ состоит в следующем:

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

Недостатки двоичной системы счисления состоят в следующем:

  • большая длина записи чисел;
  • при вводе и выводе информации требуется перевод в десятичную систему счисления.

Рассмотрим, как выполняются основные действия в двоичной арифметике.

Правила арифметики во всœех позиционных системах счисления одинаковы, ᴛ.ᴇ. сложение, умножение и вычитание начинают с младших разрядов, делœение - со старших.

При сложении единица переноса складывается с цифрами сосœеднего старшего разряда. При вычитании единица заема старшего разряда дает две единицы в младшем сосœеднем разряде.

Пример 3.8

Умножение двоичных чисел аналогично умножению десятичных, но т.к. умножаем только на 0 и 1, то умножение сводится к операции сдвига и сложения.

Пример 3.9

Двоичная арифметика - понятие и виды. Классификация и особенности категории "Двоичная арифметика" 2017, 2018.

  • - Двоичная арифметика

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


  • - Двоичная система счисления и двоичная арифметика

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

  • В простейшем случае, для одноразрядных чисел, правила двоичного сложения имеют вид:

    При сложении () возникает два случая:

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

    Двоичное вычитание

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

    Когда производится вычитание () осуществляется займ из более старшего разряда. Знак вопроса означает, что разряд уменьшаемого изменяется в результате займа по правилу:

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

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

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

    Двоичная арифметика с учетом знаков чисел

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

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

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

    Так, в восьмиразрядном формате


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

    Для того же числа обратный код имеет вид: , .

    Недостатком обратного кода является то, что одно и то же число и записывается по-разному: , , что может вызвать нежелательное разночтение работы логической схемы. Поэтому предпочтительным является дополнительный код.

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

    Для значащих разрядов отрицательного числа справедлива формула:

    (11.3)

    Напишем число в 7-разрядном дополнительном коде:

    Таким образом в дополнительном коде , следовательно, указанный недостаток обратного кода преодолен.

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

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

    Двоичная арифметика в дополнительном коде

    Для наглядности возьмем два десятичных числа, например, и , и сделаем все возможные варианты вычислений:

      .

      Число положительное, поэтому ОК=ПК , для проверки числа нужно перевести его значащие разряды в десятичный код по (П3-2): .

    • . Сначала получим дополнительный код отрицательного числа :

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

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

      а затем уже перевести его в десятичный код по (П3-2): .

    • - Сначала получим ДК отрицательного числа .

      После этого произведем вычисления.

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

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

    Таблица двоичного

    сложения

    Таблица двоичного

    вычитания

    Таблица двоичного

    умножения

    01=0

    10=0

    11=1

    Задание 1. Выполните сложение чисел в двоичной системе счисления 100100111,001 2 +100111010,101 2

    Методические указания.

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

    Примеры .

    1) Выполнить сложение двоичных чисел X=1101, Y=111.

    В приведенном примере в младшем нулевом разряде две единицы: 1+1=10 дают нуль в данном разряде и единицу переноса в следующий. В первом разряде: 0+1+1=10 (крайняя единица перенесена из нулевого разряда) дают 0 и единицу переноса в следующий. Во втором разряде 1+1+1=11(крайняя единицы перенесена из первого разряда) дают 1 и единицу переноса в следующий. В старшем третьем разряде 1 и единица переноса из предыдущего разряда дают 1+1=10.

    Результат: 1101+111=10100.

    2) Сложить три двоичных числа X=1101, Y=101, Z=111.

    Результат: 1101+101+111=11001.

    Задание 2. Выполните вычитание чисел в двоичной системе счисления: 1100110110,0011 2 – 11111110,01 2 .

    Методические указания.

    При вычитании двоичных чисел в данном разряде при необходимости занимается 1 из старшего разряда. Эта занимаемая 1 равна двум единицам данного разряда, так как 10=1+1.

    Примеры .

    1) Заданы двоичные числа X=10010 и Y=101. Вычислить X–Y.

    Результат: 10010 2 – 101 2 = 1101 2 .

    Замечание. Число 100…00 2 можно представить в виде суммы

    Данное разложение на слагаемые объясняет правило вычитания в столбик. Если вы занимаете 1 из ближайшего старшего разряда, тогда над всеми следующими за единицей нулями следует дописывать 1, а над крайним нулем, для которого произведен заем, 1+1 или 10.

    2) Выполнить вычитание: 1100000011,011 2 – 101010111,1 2

    Результат: 1100000011,011 2 – 101010111,1 2 = 110101011,111 2 .

    Задание 3. Выполните умножение чисел 11001 2 и 1011100 2 в двоичной системе счисления.

    Методические указания.

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

    Пример . Найти произведение 1001 2 101 2

    101

    Результат: 1001 2 101 2 =101101 2 .

    Задание 4. Выполните деление чисел 111101 2 и 1110 2 в двоичной системе счисления.

    Методические указания.

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

    Пример . Найти частное от деления 1100, 011 2 : 10, 01 2


    Результат: 1100, 011 2 : 10, 01 2 =101, 1 2 .

    Задания для самостоятельной работы

    Заданы двоичные числа X и Y. Вычислить X+Y и X–Y , если:

    Заданы двоичные числа X и Y. Вычислить X*Y и X/Y , если:

    Х=100101,101 2 Y=11101,11 2

    X=100101,011 2 Y=110,1 2

    Х=101101,101 2 Y=1101,111 2

    X=110000,11 2 Y=
    2

    Х=110101,101 2 Y=11101,11 2

    X=111001,0001 2 Y=1010,011 2

    Х=1101111,101 2 Y=10101,11 2

    X=111011,0001 2 Y=101,01 2

    Х=1000111,11 2 Y=11101,111 2

    X=111100,011 2 Y=101,11 2

    Х=1110001,101 2 Y=10011,11 2

    X=110110,101 2 Y=100,11 2

    Х=1010001,101 2 Y=10011,11 2

    X=100110,0001 2 Y=111,01 2

    Х=1000011,101 2 Y=10011,011 2

    X=101011,111 2 Y=110,11 2

    Х=1101001, 101 2 Y=10111,11 2

    X=1010110,101 2 Y=1000,01 2

    Х=1010001,101 2 Y=1111,011 2

    X=111111,01 2 Y=101,1 2

    Х=101001, 101 2 Y=10111,111 2

    X=1011010,101 2 , Y=111,01 2

    Х=1010111, 101 2 Y=11100,111 2

    X=1000101,0011 2 , Y=110,11 2

    Х=110101,101 2 Y=1111,11 2

    X=100101,011 2 , Y=110,1 2

    Х=101111,101 2 Y=1101,111 2

    X=100000,1101 2 , Y=101,01 2

    Х=110101,011 2 Y=10011,11 2

    Х=110111,11 2 Y=101,11 2

    Х=1001011,11 2 Y=10101,101 2

    Х=100101,11 2 Y=111,01 2

    Х=100011,011 2 Y=10011,111 2

    Х=100011,01 2 Y=1011,1 2

    Х=1010001,101 2 Y=1011,011 2

    Х=100001,101 2 Y=1001,01 2

    Х=110001,101 2 Y=10111,11 2

    Х=111001,101 2 Y=1101,11 2

    Х=1000111,011 2 Y=11111,11 2

    Х=1010111,011 2 Y=111,11 2

    Х=111001, 101 2 Y=1110,111 2

    Х=11100001, 101 2 Y=110,11 2

    Х=100001,101 2 Y=1111,111 2

    Х=1000001,101 2 Y=1111,01 2

    Х=1011101, 101 2 Y=10111,011 2

    Х=1010101, 101 2 Y=100,011 2

    Х=1111000, 101 2 Y=101111,11 2

    Х=1111001, 011 2 Y=1011,11 2

    Х=1100000, 101 2 Y=1111,111 2

    Х=1100011, 01 2 Y=11,111 2

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

      1. Каковы правила сложения двоичных чисел?

      2. Каковы правила вычитания двоичных чисел?

      3. Каковы правила умножения двоичных чисел?

      4. Каковы правила вычитания двоичных чисел?