Промышленное производство
Промышленный Интернет вещей | Промышленные материалы | Техническое обслуживание и ремонт оборудования | Промышленное программирование |
home  MfgRobots >> Промышленное производство >  >> Manufacturing Technology >> Промышленные технологии

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

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

Как мы только что узнали, мы можем представлять отрицательные двоичные числа, используя метод «дополнения до двух» и бит отрицательного разряда. Здесь мы будем использовать эти отрицательные двоичные числа для вычитания путем сложения.

Вот пример проблемы:

 Вычитание:7  10  - 5  10  Эквивалент сложения:7  10  + (-5  10  ) 

Если все, что нам нужно сделать, это представить семь и отрицательную пятерку в двоичной форме (дополнение до двух), все, что нам нужно, это три бита плюс бит отрицательного веса:

 положительная семерка =0111  2  отрицательная пятерка =1011  2  

Теперь давайте сложим их вместе:

. 1111 <--- Несущие биты . 0111 . + 1011 . ------ . 10010 . | . Отбросить лишний бит . . Ответ =0010  2  

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

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

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

Давайте попробуем другой пример, на этот раз с большими числами. Если мы хотим добавить -25 10 до 18 10 , мы должны сначала решить, насколько большим должно быть наше двоичное битовое поле.

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

 +25  10  =011001  2  (показаны все шесть бит) Дополнение до 11001  2  =100110  2  Дополнение до одного + 1 =дополнение до двух =100111  2  -25  10  =100111  2  

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

. 18  10  =010010  2  . . Теперь давайте сложим их вместе и посмотрим, что у нас получится:. . 11 <--- Несущие биты . 100111 . + 010010 . -------- . 111001 

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

 (1 x -32  10  ) + (1 х 16  10  ) + (1 х 8  10  ) + (1 х 1  10  ) =-7  10  

Действительно -7 10 правильная сумма -25 10 и 18 10 .

СВЯЗАННЫЕ РАБОЧИЕ ТАБЛИЦЫ:


Промышленные технологии

  1. Электроника как наука
  2. Создание домашней лаборатории
  3. Использование вольтметра
  4. Использование омметра
  5. Очень простая схема
  6. 3-битный двоичный счетчик
  7. Сравнение десятичного и двоичного чисел
  8. Восьмеричное и шестнадцатеричное исчисление
  9. Контейнерные сборки для руки на x86
  10. Начало работы с Go on PLCnext