Как складывать двоичные числа?

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

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

Что такое прямой код?

Прямой код — это код, в котором находятся все положительные числа. Мы будем рассматривать двоичные числа, которые представлены в 1 байте, т.е. в 8 битах. Сразу хочу сказать, что в компьютере нет знака «+» или «-», а есть лишь код. Поэтому изначально было принято, что знак «минус» соответствует числу «1″, а знак «плюс» — «0″. Что это значит? Это значит, что если мы хотим записать число 15 в десятичном коде в двоичный, то мы запишем просто 1111. Но на самом деле, для числа отведено 8 ячеек, так как мы рассматриваем восьми битное представление числа. Поэтому, число 15 будет представлено в двоичном коде, как 00001111, где первый «0″ — знаковое место. А если мы захотим представить число -15? Все просто! Берем число -15 по модулю, получаем 1111 в двоичной записи, а минус поставим в знаковом поле. В результате, мы получим число 10001111 — это и будет -15. Все выше сказанное верное, если число занимает 1 байт = 8 бит.

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

Что такое обратный код?

Обратный код получается из прямого путем замены всех «0» в прямом коде на «1», а всех «1» — на «0», кроме знакового числа. Обратный код доступен только для отрицательных чисел! Положительные числа существуют только в прямом коде. Приведу пример. Пусть у нас есть число -15 в десятичной системе, т.е. -1111 в двоичной. Как мы уже с вами поняли, на число приходится 8 клеток – 8 бит. Т.е. если мы запишем число -1111 в прямом коде, то у нас получится число 10001111. Давайте, теперь запишем его в обратном коде. Как я уже выше писал, нужно поменять все нули на единицы, а единицы – на нули, кроме знакового числа. Тогда, -15 в обратном коде имеет следующий вид: 11110000.

Что такое дополнительный код?

Дополнительный код, как и обратный, доступен только для отрицательного числа. Он получается из обратного кода путем прибавления единицы к крайнему правому разряду числа. Опять же возьмем число -15. В обратном коде имеет следующий вид: 11110000. Прибавляем единицу к правому крайнему разряду. Имеем, число -15 в дополнительном коде: 11110001.

Теперь перейдём непосредственно к вопросу о том, как складывать двоичные числа. Ещё раз хочу отменить, что все положительные числа представляются только в прямом коде, а отрицательные – в зависимости от задания. Пусть нам дано задание – сложить два числа с использованием обратного кода: -35+15=20. -35(в десятичной системе) = -100011(в двоичной, но в прямом коде) = 10100011(в двоичной системе, но в обратном коде). 15(в десятичной) = 1111(в двоичной, но в прямом коде) = 00001111(в двоичной, но в прямом коде). Сложение чисел в двоичной системе происходит также, как и в десятичной – столбиком. Если 0+1, то записываем 1, если 1+1, то записываем 0, а 1 запоминаем. Если так случилось, что появился 9 разряд, то зачеркиваем эту единицу, и прибавляем её к самому правому разряду – это в обратном коде, в дополнительном – все иначе. Если у нас получилось положительное число (8 разряд – 0), то оставляем это число, как есть. А если у нас получилось отрицательное число (8 разряд – 1), то переводим его в прямой код.

Как мы видим, у нас получилось отрицательное число. Значит, следуя алгоритму, нам нужно перевести его в прямой код.

10110010(в обратном) = -1001101 (в прямом).

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

Теперь я хочу поговорить о общих правилах сложения двоичных чисел. У нас есть рамки числа – это 8 бит. Как вы понимаете, мы не может выйти за них, так как в компьютере нет больше памяти на это число. Из-за этого при сложение двоичных чисел, у нас появляется такое понятие, как переполнение. Что это такое? А это ещё одна возможность ошибиться, когда вы будете выполнять задания на информатике. К примеру, вы будете складывать два отрицательных числа, а получится у вас положительное. Конечно же, вам сразу поставят 0 балов за задание. Что же нужно сделать, чтобы избежать ошибок? А нужно не только выполнять алгоритм, но и всегда думать головой при выполнение этого задания. Если вам даны два отрицательных числа, а получается у вас положительное число, то ничего не бойтесь, просто пишите, что возникло переполнение. Ничего в этом страшного нет, ведь это не вы виноваты, что на число отведено всего лишь 8 бит.

Переполнение может быть в 2 случаях:

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

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

Вам также может понравиться...