#статьи
- 27 фев 2023
-
0
Двоичная арифметика: сложение, умножение, вычитание, деление бинарных чисел
Учимся складывать, вычитать, умножать и делить двоичные числа — работаем с фундаментальными законами современной цифровой электроники.
Иллюстрация: Катя Павловская для Skillbox Media
Любитель научной фантастики и технологического прогресса. Хорошо сочетает в себе заумного технаря и утончённого гуманитария. Пишет про IT и радуется этому.
Мы привыкли считать всё в десятичной системе, потому что у нас 10 пальцев — и это удобно. Но если бы у нас было больше пальцев, например 12, то система могла бы быть двенадцатиричной и мы бы воспринимали её как обычную.
Когда дело доходит до двоичной системы счисления, сложно вот так сразу переключиться на её арифметику — хотя, казалось бы, принципы такие же, как для десятичной. Ведь там есть все привычные операции: сложение, вычитание, умножение, деление. Единственное отличие: в двоичных числах используются всего две цифры — ноль и единица.
Давайте избавимся от страха и наконец узнаем, как проводить знакомые нам математические операции в двоичной системе.
Правила сложения двоичных чисел похожи на привычные нам: сложение происходит поразрядно справа налево, при этом важно помнить о переносе чисел в новый разряд.
В десятичной системе у нас всего 10 цифр: от 0 до 9. Когда мы складываем 1 и 9, у нас получается переполнение, так как больше 9 в одном разряде нельзя записать. Поэтому мы переносим единицу в следующий, получаем 10.
Двоичная система работает аналогично: чтобы понять, как складывать числа, нужно помнить об этом переполнении. Всего в двоичной системе две цифры — 0 и 1. Если сложить 1 и 1, мы получим переполнение, а значит, единица пойдёт в следующий разряд, результатом станет 10 (только не «десять», а «один-ноль»).
Если представить правила сложения двоичных чисел в общем виде, получим такую таблицу:
Но лучше разобраться на примерах.
Пример 1. Давайте сложим 1100 и 101.
Рассмотрим пример подробнее. Как мы уже упоминали ранее, сложение происходит справа налево. Разряды считаются тоже справа налево:
- Первый: 0 + 1 = 1.
- Второй: 0 + 0 = 0.
- Третий: 1 + 1 = 10 — переполнение, единица переходит в следующий разряд.
- Четвёртый: 1 + 0 + 1 = 10 — добавляем единицу из прошлого разряда, получаем переполнение, единица переходит в следующий разряд.
- Пятый: 0 + 0 + 1 = 1 — единица пришла из предыдущего разряда.
Пример 2. Сложим 1111 и 111.
Теперь поразрядно:
- Первый: 1 + 1 = 0 — единица переходит в следующий разряд.
- Второй: 1 + 1 + 1 = 1 — единица переходит в следующий разряд.
- Третий: 1 + 1 + 1 = 1 — единица переходит в следующий разряд.
- Четвёртый: 1 + 0 + 1 = 0 — единица переходит в следующий разряд.
- Пятый: 0 + 0 + 1 = 1.
Вроде бы пока несложно. Так что попробуйте сами сложить 1101 и 1011, чтобы закрепить знания.
Ответ
1101 + 1011 = 11000.
Умножение в двоичной системе, как в десятичной, основано на сложении — и умении считать в столбик.
Сведём в таблицу правила умножения двоичных чисел:
Давайте теперь посмотрим на реальных примерах, как правильно умножать двоичные числа.
Пример 1. Умножим 110 на 10.
Здесь мы воспользуемся привычным школьным «столбиком»: сначала умножаем верхнее число, 110, на 0, затем на 1, а потом складываем полученные два и получаем результат.
По сути, если мы умножаем число на ноль, то оно превращается в ноль, а если на единицу — остаётся неизменным, но сдвигается на число разрядов, равное номеру разряда этой единицы, как в обычном умножении:
- 110 × 0 = 000;
- 110 × 1 = 110.
Сдвигаем 110 на один разряд влево и складываем результаты промежуточных умножений:
- 000 + 1100 = 1100.
Мы получили 1100, потому что сместили результат умножения 110 × 1 на один разряд влево, а затем добавили один 0 справа — как в обычном умножении.
Пример 2. Давайте теперь умножим 101 на 101.
Не пугайтесь, что у нас получилось три числа, которые нужно сложить: правила остаются теми же. Ещё можно приписывать дополнительные нули туда, где находится пустое пространство — это поможет не запутаться.
Разберём пошагово:
- 101 × 1 = 101;
- 101 × 0 = 000;
- 101 × 1 = 101.
Снова сдвигаем влево промежуточные результаты и складываем:
- 101 + 0000 + 10100 = 11001.
Попробуйте сами умножить 1101 на 111.
Ответ
1011011.
Правила двоичного вычитания тоже ничем не отличаются от десятичного. Мы также вычитаем поразрядно и, если нужно, занимаем единицу из старшего разряда.
Таблица вычитания выглядит так:
Заметьте, что 0 − 1 = 1. Это всё потому, что мы занимаем единицу из старшего разряда и получаем 10, или 2 в десятичной системе, а если вычесть из 10 число 1, получим 1 (ведь 2 − 1 = 1).
Перейдём к примерам, чтобы понять, как вычитать одно число из другого.
Пример 1. Вычтем из 1100 число 11.
Разберём подробнее поразрядно:
- Первый: 0 − 1 = 1 — занимаем единицу из старшего разряда.
- Второй: 1 − 1 = 0 — так как отсюда заняли единицу, но у нас её не было, мы взяли её из следующего разряда и вычли единицу из этого.
- Третий: 0 − 0 = 0 — из этого разряда единица ушла в первый.
- Четвёртый: 1 − 0 = 1 — здесь всё нормально.
Всё то же знакомое нам вычитание.
Пример 2. Вычтем из 1011 число 101.
Тот же алгоритм по разрядам:
- Первый: 1 − 1 = 0.
- Второй: 1 − 0 = 1.
- Третий: 0 − 1 = 1 — заняли единицу из следующего разряда.
- Четвёртый: 0 − 0 = 0 — отдали единицу в предыдущий разряд.
Кажется, что всё несложно. Попробуйте теперь сами вычесть из 11010 число 1111.
Ответ
1011.
Вы удивитесь, но правила деления двоичных чисел похожи на деление десятичных. Рисуем привычный «столбик», умножаем, вычитаем, получаем результат.
Таблицы тут нет, потому что она бессмысленна — давайте сразу на примерах разбирать, как делить двоичные числа.
Пример 1. Поделить 1100 на 10.
У нас есть только два варианта: умножить делитель на 1 или на 0. Поэтому алгоритм будет таким:
- Смотрим на делимое, видим, что первые две его цифры — 11. Умножаем делитель на 1 и вычитаем из 11 число 10.
- Получили 1, дописываем справа следующую по порядку цифру — 0. Теперь 10 равно делителю, значит, тоже умножаем его на 1 и вычитаем.
- Получаем 0. Но у нас ещё остался один 0 у делимого — дописываем его справа от полученного 0.
- Число 0 меньше, чем 10, поэтому умножаем делитель на 0. Получаем конечный ответ — 110.
Пример 2. Поделить 10010 на 110.
Пошаговый алгоритм:
- Первые три числа делимого меньше, чем делитель — значит, умножаем делитель на 0 и вычитаем. Получаем 100.
- Дописываем 1 справа от 100, видим, что 1001 больше, чем 110, поэтому умножаем делитель на 1 и вычитаем его из 1001. Получаем 11.
- Дописываем 0 справа. Полученное 110 равно делителю, поэтому тоже умножаем его на 1, получаем конечный результат.
Попробуйте сами теперь поделить 10100 на 100.
Ответ
101.
Двоичная арифметика во многом похожа на десятичную: мы так же можем складывать, вычитать, делить и умножать числа столбиком. Правда, в двоичной системе всего две цифры: 0 и 1 — поэтому привычные математические операции в ней могут показаться немного странными. К счастью, в основе двоичной арифметики лежат простые принципы, которые нужно запомнить.
Научитесь: Профессия Python-разработчик
Узнать больше
-
1
Запишите двоичные числа друг под другом — меньшее число под большим. Если меньшее число имеет меньше цифр, выровняйте его по правому краю (так, как вы записываете десятичные числа при их вычитании).
-
2
Некоторые задачи на вычитание двоичных чисел ничем не отличаются от вычитания десятичных чисел. Запишите числа друг под другом и, начиная справа, найдите результат вычитания каждой пары чисел. Вот несколько простых примеров:
- 1 – 0 = 1
- 11 – 10 = 1
- 1011 – 10 = 1001
-
3
Рассмотрим более сложную задачу. Необходимо запомнить только одно правило, чтобы решать задачи на вычитание двоичных чисел. Это правило описывает заимствование цифры слева, чтобы вы могли вычесть 1 из 0 (0 – 1). Решим две задачи при помощи метода заимствования.
- 110 – 101 = ?
-
4
В первом столбце справа вы получаете разность 0 – 1. Для ее вычисления необходимо позаимствовать цифру слева (из разряда десятков).
- Во-первых, зачеркните 1 и замените ее на 0, чтобы получить такую задачу: 10
10 – 101 = ? - Вы вычли («позаимствовали») 10 из первого числа, поэтому вы можете написать это число вместо цифры, стоящей справа (в разряд единиц). 10
1100– 101 = ?
- Во-первых, зачеркните 1 и замените ее на 0, чтобы получить такую задачу: 10
-
5
Вычтите цифры в правом столбце. В нашем примере:
- 10
1100– 101 = ? - Правый столбец: 10 – 1 = 1. Если вы не поняли, как получить такой ответ, прочитайте эту статью:
- 102 = (1 x 2) + (0 x 1) = 210 (цифры нижнего регистра обозначают систему счисления, в которой записаны числа).
- 12 = (1×1) = 110.
- Таким образом, в десятичной системе эта разность записывается в виде: 2 – 1 = 1.
- 10
-
6
Вычтите цифры в оставшихся столбцах. Теперь это легко сделать (работайте со столбцами, двигаясь справа налево):
- 10
1100– 101 = __1 = _01 = 001 = 1.
- 10
-
7
Решите сложную задачу. В таких задачах придется «заимствовать» цифры несколько раз только для того, чтобы вычесть цифры в одном столбце. Например, решите следующую задачу: 11000 – 111. Нельзя «заимствовать» цифры у 0, поэтому передвигайтесь к следующей цифре слева (до тех пор, пока вы не достигнете 1).
- 10
110000 – 111 = -
10
111001000 – 111 = (запомните: 10 – 1 = 1) - 10
111001100100– 111 = - Вот как это записывается в более понятном виде: 101110
0– 111 = - Вычислите разность цифр во всех столбцах (двигаясь справа налево): _ _ _ _ 1 = _ _ _ 0 1 = _ _ 0 0 1 = _ 0 0 0 1 = 1 0 0 0 1
- 10
-
8
Проверьте ответ. Есть три способа сделать это.[1]
Быстрый способ — откройте двоичный онлайн калькулятор и введите в него условия задачи. Два других метода подразумевают проверку ответа вручную (они могут пригодиться вам на экзамене).- Сложите двоичные числа, чтобы проверить ответ. Сложите ответ с меньшим числом; вы должны получить большее число. В последнем примере (11000 – 111 = 10001): 10001 + 111 = 11000, то есть ответ правильный.
- Кроме того, вы можете преобразовать двоичные числа в десятичные и проверить ответ. В последнем примере (11000 – 111 = 10001) при преобразовании вы получите: 24 – 7 = 17, то есть ответ правильный.
Реклама
-
1
Запишите двоичные числа друг под другом так, как вы записываете десятичные числа при их вычитании. Этот метод используется компьютерами для вычитания двоичных чисел, так как он основан на более эффективном алгоритме. Однако простому человеку, привыкшему вычитать десятичные числа, этот метод может показаться более сложным (если вы программист, обязательно ознакомьтесь с этим методом вычитания двоичных чисел).[2]
- Рассмотрим пример: 101 – 11 = ?
-
2
Если значность чисел разная, к числу с меньшей значностью слева припишите соответствующее количество 0. Например, если даны числа 101 (трехзначное) и 11 (двузначное), превратите двузначное число в трехзначное, приписав ему слева один 0: 011.
- 101 – 011 = ?
-
3
В вычитаемом числе поменяйте цифры: каждую 1 поменяйте на 0, а каждый 0 на 1. В нашем примере вычитаемое превращается в:
011→ 100.- На самом деле мы «забираем дополнение у единицы», то есть вычитаем каждую цифру из 1. Это работает в двоичной системе, так как у такой «замены» может быть только два возможных результата: 1 – 0 = 1 и 1 – 1 = 0.
-
4
-
5
Теперь вместо вычитания сложите два двоичных числа.
- 101 + 101 = 1010
- Если вы не знаете, как складывать двоичные числа, прочитайте эту статью.
-
6
В полученном результате игнорируйте любую цифру, стоящую первой слева (так как вы получили число не той значности). В нашем примере вы складывали трехзначные числа (101 + 101), а получили четырехзначный ответ (1010). Поэтому зачеркните первую цифру слева, и вы получите окончательный ответ вашей задачи.[3]
-
1010 = 10 - Таким образом, 101 – 011 = 10
- Если лишней цифры нет, то вы вычитали большее число из меньшего. Смотрите раздел «Советы» о том, как решать такие задачи.
-
-
7
Попробуйте применить этот метод к десятичным числам. Этот метод называется «дополнение к двойке», так как замена цифр приводит к «дополнению к единице», а затем к полученному числу прибавляется 1.[4]
Для лучшего уяснения этого метода рассмотрим следующий пример:- 56 – 17
- Так как в примере рассматриваются десятичные числа, то каждую цифру вычитаемого (17) вычтите из 9: 99 – 17 = 82.
- Сложите два числа: 56 + 82. Если вы сравните это суммирование с исходной задачей (56 – 17), то вы увидите, что к исходной задаче прибавили 99.
- 56 + 82 = 138. Так как к исходной задаче прибавили 99, нужно вычесть 99 из ответа. Необходимо действовать аналогично вычислениям с двоичными числами: прибавьте к результату 1, а затем игнорируйте первую цифру слева.
-
138 + 1 = 139 →
139 → 39. Это решение исходной задачи (56 – 17 = 39).
Реклама
Советы
- Для вычитания большего числа из меньшего, вычтите меньшее число из большего, а к ответу припишите знак «минус». Например, чтобы вычислить 11 – 100, вычислите 100 – 11, а затем к ответу припишите знак «минус» (это правило относится к вычитанию чисел в любой системе счисления, а не только в двоичной системе).
- Метод дополнения работает следующим образом: a – b = a + (2n – b) – 2n. Если n равно разрядности b, то 2n – b на единицу больше результата вычитания каждого разряда.
Реклама
Об этой статье
Эту страницу просматривали 132 544 раза.
Была ли эта статья полезной?
Операция вычитания является обратной к операции сложения. В разных системах счисления выполняется почти одинаково. Самое важное отличие, которое меняет процесс вычитания это количество чисел.
Поскольку во всех системах счисления цифры начинаются с нуля, то количество цифр сводится к максимально допустимой цифре.
К примеру, в десятичной системе счисления максимальная цифра девять, а вот в троичной – двойка.
При вычитании (в столбик) когда вычитаем большее число из меньшего, то занимаем у старшего разряда “десяток”. Значение “десяток” будет меняться в зависимости от системы счисления, в которой будем производить операцию вычитания.
Для начала повторим, как работает вычитание в десятичной системе счисления, чтобы стало понятнее, как работает это в разных системах счисления.
Вычитание в десятичной системе счисления
Посчитаем разность 178 и 89. Операцию будем выполнять в столбик для наглядности.
Действия распишем поэтапно:
- 8 – 9 (вычесть не можем, занимаем у старшего разряда) → 18 – 9 = 9;
- 6 – 8 (вычесть не можем, занимаем у старшего разряда) → 16 – 8 = 8;
- Поскольку у единицы тоже занимали, то она превратилась в ноль
Вычитание в двоичной системе счисления
Когда будем занимать “десяток” в двоичной системе счисления из старшего разряда, то прибавляться будет уже не 10, а всего лишь двойка. Рассмотрим так же на примере. Посчитаем разность 10000 и 111 в двоичной системе счисления. Операцию опять же выполним в столбик.
Распишем действия поэтапно:
- 0 – 1 (вычесть не можем, занимаем у самого старшего разряда, т.к. все остальные тоже нули) → 2 – 1 = 1;
- 1 – 1 = 0 (тут единица поскольку заняли у единицы, а потом постепенно перешло по младшим разрядам);
- 1 – 1 = 0;
- Единицу спускаем;
- Спускаем ноль, так как занимали
Получили ответ в двоичной системе счисления.
Вычитание в шестнадцатеричной системе счисления
Хорошим примером будет также и шестнадцатеричная система счисления. Здесь операция вычитания выглядит сложнее из-за “буквенных” цифр. Главное — их сразу представлять с их значениями, и тогда счёт будет легче.
Здесь уже в качестве десятка выступает число шестнадцать. Посчитаем разность 1AB и FE.
Распишем действия поэтапно:
- B – E → 11 – 14 (вычесть не можем, занимаем у старшего разряда) → 27 – 14 = 13 (D);
- 9 – F → 9 – 15 (вычесть не можем, занимаем у старшего разряда) → 25 – 15 = 10 (A);
- Спускаем ноль, так как занимали.
В операции вычитания при занятии у старшего разряда в любой системе счисления, в младший разряд прибавляется число, равное основанию системы счисления.
Понравилась статья? Хочешь разбираться в информатике, программировании и уметь работать в разных программах? Тогда ставь лайк, подпишись на канал и поделись статьей с друзьями!
Читайте также:
#информатика #системы счисления #школьная информатика #образование #арифметика #вычитание
Двоичный калькулятор онлайн
- Главная
- /
- Информатика
- /
- Двоичный калькулятор онлайн
Если вам необходимо произвести математические операции над двоичными числами воспользуйтесь нашим двоичным онлайн калькулятором:
Просто введите целые двоичные числа, выберите операцию и получите результат.
Данный калькулятор может производить следующие действия над двоичными числами:
- сложение +
- вычитание −
- умножение ×
- деление ÷
- логическое И (AND)
- логическое ИЛИ (OR)
- исключающее ИЛИ (XOR)
Сложение двоичных чисел
Сложение двух двоичных чисел производится столбиком поразрядно. Начиная с младшего разряда (справа на лево), как и при сложении столбиком десятичных чисел. Но так как цифр всего две (0 и 1), их сложение происходит по следующим правилам:
0 + 0 = 0
0 + 1 = 1
1 + 0 = 1
1 + 1 = 10
Пример
Для примера сложим 1011 и 101:
+ | 1 | 0 | 1 | 1 | |
1 | 0 | 1 | |||
1 | 0 | 0 | 0 | 0 |
10112 + 1012 = 100002
(1110 + 510 = 1610)
Вычитание двоичных чисел
Вычитание двоичных чисел производится аналогично сложению – столбиком, но по следующим правилам:
0 – 0 = 0
1 – 0 = 1
1 – 1 = 0
10 – 1 = 1
Пример
Для примера вычтем из числа 1011 число 101:
− | 1 | 0 | 1 | 1 |
1 | 0 | 1 | ||
1 | 1 | 0 |
10112 − 1012 = 1102
(1110 − 510 = 610)
Умножение двоичных чисел
Умножение двоичных чисел производится в столбик аналогично умножению в десятичной системе, но по следующим правилам:
0 × 0 = 0
0 × 1 = 0
1 × 0 = 0
1 × 1 = 1
Пример
Для примера перемножим числа 1011 и 101:
× | 1 | 0 | 1 | 1 | ||
1 | 0 | 1 | ||||
+ | 1 | 0 | 1 | 1 | ||
0 | 0 | 0 | 0 | |||
1 | 0 | 1 | 1 | |||
1 | 1 | 0 | 1 | 1 | 1 |
10112 × 1012 = 1101112
(1110 × 510 = 5510)
Деление двоичных чисел
Внешне деление двоичных чисел похоже на деление десятичных чисел, но тут есть свои нюансы: такое деление производится вычитанием делителя со сдвигом вправо, если остаток больше нуля. Чтобы понять этот процесс рассмотрим пример:
Пример
Для примера разделим число 11110 на 110:
111102 ÷ 1102 = 1012
(3010 ÷ 610 = 510)
См. также
Выполнение арифметических действий в любых позиционных системах счисления производится по тем же правилам, которые используются в десятичной системе счисления.
Так же, как и в десятичной системе счисления, для выполнения арифметических действий необходимо знать таблицы сложения (вычитания) и умножения.
Таблица сложения, вычитания и умножения для двоичной системы счисления
Сложение | Вычитание | Умножение |
0 + 0 = 0 | 0 — 0 = 0 | 0 ∙ 0 = 0 |
0 + 1= 1 | 1 — 0 = 1 | 0 ∙ 1 = 0 |
1 + 0 = 1 | 1 — 1 = 0 | 1 ∙ 0 = 0 |
1 + 1 = 10 | 10 — 1 = 1 | 1 ∙ 1 = 1 |
Сложение двоичных чисел
Сложение в двоичной системе счисления выполняется по тем же правилам, что и в десятичной. Два числа записываются в столбик с выравниванием по разделителю целой и дробной части и при необходимости дополняются справа незначащими нулями. Сложение начинается с крайнего правого разряда. Две единицы младшего разряда объединяются в единицу старшего.
Пример: 1011,12 + 1010,112
Интересна также ситуация, когда складываются больше двух чисел. В этом случае возможен перенос через несколько разрядов.
Пример: 111,12 + 1112 + 101,12
При сложении в разряде единиц (разряд 0) оказывается 4 единицы, которые, объединившись, дают 1002. Поэтому из нулевого разряда в первый разряд переносится 0, а во второй — 1.
Аналогичная ситуация возникает во втором разряде, где с учетом двух перенесенных единиц получается число 5 = 1012. 1 остается во втором разряде, 0 переносится в третий и 1 переносится в четвёртый.
Вычитание двоичных чисел
В случаях, когда занимается единица старшего разряда, она дает две единицы младшего разряда. Если занимается единица через несколько разрядов, то она дает по одной единице во всех промежуточных нулевых разрядах и две единицы в том разряде, для которого занималась.
Пример: 10110,012 — 1001,12
Умножение и деление двоичных чисел
Зная операции двоичной арифметики, можно переводить числа из двоичной системы счисления в любую другую.
Пример: Перевести число 1011110112 в десятичную систему счисления.
Поскольку 1010 = 10102, запишем
Полученные остатки, 10012 = 910, =1112 = 710, 112 = 310. Искомое число 1011110112 = 37910.
Назад: Представление данных и архитектура ЭВМ