Выполнить операцию сложения (двоичная система счисления)
Выполнить операцию сложения в дополнительном коде, представив приведенные слагаемые в двоичном виде:
-14 и -19
-19 и 14
P.S: Не скидывайте ссылки на онлайн калькуляторы и на статьи с теорией. Мне нужно подробное решение.
P.S.S: В первом случае (-14 и -19) у меня получается ответ 10001...ответ этот не правильный...ведь должен то получиться 100001...не понимаю, что я упускаю...
КОТ, подробнее...
Если тупо в столбик, то этого не получиться. Где же перевод в обратный и дополнительный код? Только бы ляпнуть...
КОТ, подробнее...
Если тупо в столбик, то этого не получиться. Где же перевод в обратный и дополнительный код? Только бы ляпнуть...
Fluffy Man, большое спасибо. Никак не мог разобраться с расширением разрядной сетки. Заочник я) Есть и важнее вопросы) Ещё раз спасибо, все достаточно понятно) Лучший)
Положительные числа в прямом и доп. коде выглядят одинаково. Первый разряд знаковый, отделяется точкой.
14 = 0.1110
19 = 0.10011
Двоичное представление 19 длиннее, чем 14
Чтобы их сложить, нужно выровнить размеры мантисс.
Добавляем к 14(2) незначащий разряд (0)
14 = 0.01110
Дополнительный код для отрицательных чисел образуется инверсией мантиссы и прибавлением 1 к младшему разряду. Также нужно поставить 1 в знаковом разряде.
-14 = 1.10010
-19 = 1.01101 Складываем в столбик
_____________
10.11111
Получаем переполнение. Единицу переноса из знакового разряда необходимо отбросить - результат неверный: складывали отрицательные числа, получили положительное.
Значит, нужно расширить разрядную сетку.
Добавляем еще один незначащий разряд. Для доп. кода это будет 1 в старшем разряде. Выполняем сложение еще раз.
-14 = 1.110010
-19 = 1.101101 Складываем в столбик
_____________
11.011111
Единицу переноса из знакового разряда отбрасываем.
Итог: 1.011111 в дополнительном коде.
Переводим в прямой код и десятичную систему.
Получаем 1.100001 в прямом коде или
-1*(1*(2 в 5)+1*(2 в 0)) = -32-1 = -33
Что и требовалось доказать.
А если бы Вы не брезговали теорией, то сами могли бы все это сделать, а не заставлять людей писать тут подробные комментарии.
Вторую часть задачи решайте сами!
-1110 + (-10011) = - 100001 тупо в столбик сложить и все.. .
1110 + (-10011) = - 101