Сложение и вычитание бинарных чисел

Сложение и вычитание бинарных чисел

Калькулятор, выполняющий основные арифметические действия над двоичными числами. Создан по запросу пользователя.

Похоже, это юбилейная, двухсотая статья на сайте. Ну что же, представляю калькулятор, выполняющий арифметические действия над двоичными числами. Технически он сделан на базе калькулятора Математический калькулятор. Сделан был по запросу пользователя Арифметика двоичных чисел.
Вот, собственно, и все — вводим выражение с использованием двоичных чисел, калькулятор разбирает его и выдает результат.
Надеюсь, кому-то будет полезно.

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

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

Сложение

Как и в десятичной системе счисления, сложение двоичных чисел начинается с правых (младших) разрядов. Если результат сложения цифр МЗР обоих слагаемых не помещается в этом же разряде результата, то происходит перенос. Цифра, переносимая в соседний разряд слева, добавляется к его содержимому. Такая операция выполняется над всеми разрядами слагаемых от МЗР до СЗР.

Сложить два числа в десятичном и двоичном представлении (формат – 1 байт).

Перенос (единицы) 11 1111111

Операция получается громоздкая со многими переносами, но удобная для ЭВМ.

Вычитание

Операция вычитания двоичных чисел аналогична операции в десятичной системе счисления. Операция вычитания начинается, как и сложение, с МЗР. Если содержимое разряда уменьшаемого меньше содержимого одноименного разряда вычитаемого, то происходит заем 1 из соседнего старшего разряда. Операция повторяется над всеми разрядами операндов от МЗР до СЗР.

Поясним это примером.

Вычесть два числа в десятичном и двоичном представлении (формат – 1 байт).

Заем (единица) 1 01100000

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

Читайте также:  Создать электронную почту гмайл точка ком

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

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

Для представления чисел со знаком в ЭВМ применяют прямой, обратный и дополнительный коды.

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

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

Прямой код

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

Рассмотрим однобайтовое представление двоичного числа. Пусть это будет 28(10). В двоичном формате – 0011100(2) (при однобайтовом формате под величину числа отведено 7 разрядов). Двоичное число со знаком будет выглядеть так, как показано на рис. 2.1.

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

Читайте также:  Печь булерьян обложенная кирпичом

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

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

Таблица умножения ещё проще. Здесь нужно твёрдо знать, что любое число, умноженное на нуль, есть нуль и что умножение на единицу не меняет числа.

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

Вычитание в двоичной системе выполняется по таким правилам:

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

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

Примеры: 1101111 · 101101 = ?, 111100 : 1010 = ?

Ссылка на основную публикацию
Сколько секунд видео можно загрузить в инстаграм
Обновлено - 27 января 2020 IGTV — функция, с помощью которой можно выложить длинное видео в Инстаграм продолжительностью от 15...
Секреты работы в word
Все секреты Word. MicrosoftWord – одна из наиболее часто используемых программ. Все мы пользуемся этим приложением, зачастую даже не зная...
Секс во время соревнований
Воздерживаться или не воздерживаться – вот в чем вопрос Джоэл Сидман, кандидат наук Вот что вам нужно знать… Влияние секса...
Сколько символов на странице ворд
Вы можете посмотреть пример стандартной страницы перевода в формате doc. В рынке переводов можно встретить разные варианты определения условной страницы:...
Adblock detector