Ошибки в двоичных операциях
Программа сложила 10102+01112 и выдала 00012. Ученик проверил: 10+7=17, но 00012=1=17.
Какую конкретную ошибку допустила программа?
- Неверно учла перенос в одном из разрядов
- Перепутала сложение с вычитанием
- Прочитала числа справа налево
- Пропустила один разряд при записи результата
Решение
Сложим числа в столбик, начиная с младшего разряда:
- разряд
: , перенос ; - разряд
: , пишем , перенос ; - разряд
: , пишем , перенос ; - разряд
: , пишем , перенос ; - разряд
: переносится , пишем .
Получаем:
Программа выдала
Проверим остальные варианты:
- Перенос учтён верно, иначе младшие разряды были бы другими.
- При вычитании получилось бы
, а не . - Справа налево числа дают
, а это .
💡 Почему так
Результат сложения двух
Ответ
✓ dzmen.ru
- Пропустила один разряд при записи результата
Помогло?
