Пример сложения двоичных положительных чисел сервисом www.reshinfo.com:
машинный метод
Ваша задача будет решена с вашими исходными данными OnLine и бесплатно
Задача:
Выполнить сложение чисел A = a52b16 и B = 340f16 в двоичной системе счисления.
Решение:
1) Переведем числа в двоичную систему счисления:
a52b16 = 10100101001010112
340f16 = 110100000011112
2) Впишем число "A" в 16-ти разрядный регистр, начиная с младших разрядов (нумерация разрядов начинается с нуля). В недостающие разряды записываем нули.
Разр. | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
A | 1 | 0 | 1 | 0 | 0 | 1 | 0 | 1 | 0 | 0 | 1 | 0 | 1 | 0 | 1 | 1 |
3) Впишем число "В" в 16-ти разрядный регистр, начиная с младших разрядов. В недостающие разряды записываем нули.
Разр. | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
B | 0 | 0 | 1 | 1 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 1 | 1 | 1 |
4) Сложим поразрядно числа "A" и "B" записывая результат в "C" начиная с младших разрядов.
Правила поразрядного сложения, для двоичной системы счисления несложно вывести, рассуждая следующим образом.
Если соответствующие разряды обоих слагаемых содержат нули, то и сумма ноль. В тот же разряд числа "C" ставим ноль.
Если в соответствующих разрядах только одно из слагаемых содержит единицу, то и сумма единица. В тот же разряд числа "C" ставим единицу.
Если соответствующие разряды обоих слагаемых содержат единицы, то сумма двух единиц дает число два, которое в двоичной системе отображается
как 102, т.е. это уже двухразрядное число с нулем в младшем разряде.
Поэтому в тот же разряд числа "C" ставим ноль, а единицу переносим в следующий разряд.
В общем случае при вычислении значений каждого разряда (кроме нулевого), следует учитывать возможную единицу переноса из предыдущего разряда.
Полный набор правил двоичного поразрядного сложения представлен в таблице.
Перенос из предыдущего разряда Oi-1 |
Ai | Bi | Ci | Перенос в следующий разряд Oi-1 |
0 | 0 | 0 | ||
0 | 1 | 1 | ||
1 | 0 | 1 | ||
1 | 1 | 0 | 1 | |
1 | 0 | 0 | 1 | |
1 | 0 | 1 | 0 | 1 |
1 | 1 | 0 | 0 | 1 |
1 | 1 | 1 | 1 | 1 |
Весь процесс сложения наших чисел выглядит следующим образом:
(красным шрифтом показаны переносы в соответствующий разряд)
Разр. | c | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
1 | 1 | 1 | 1 | 1 | 1 | ||||||||||||
A | 1 | 0 | 1 | 0 | 0 | 1 | 0 | 1 | 0 | 0 | 1 | 0 | 1 | 0 | 1 | 1 | |
B | 0 | 0 | 1 | 1 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 1 | 1 | 1 | |
C | 1 | 1 | 0 | 1 | 1 | 0 | 0 | 1 | 0 | 0 | 1 | 1 | 1 | 0 | 1 | 0 |
5) Анализируем переполнение разрядной сетки. Для этого смотрим, возник ли в процессе сложения перенос из старшего разряда (в разряд "с")? Если перенос был - это и есть факт переполнения. В нашем случае переноса нет, результат операции корректен. В регистре "C" содержится сумма исходных чисел
Ответ:
10100101001010112 + 110100000011112
= 11011001001110102
или в шестнадцатеричной системе счисления:
a52b16 + 340f16
= d93a16
...сложить MOИ чиcла в двоичной системе
...см.пример сложения ручным методом
...к списку решаемых задач