Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Спорим, что вы не знаете, как правильно выполнять вычитание в двоичной системе отсчёта?

hunter Профи (744), закрыт 1 год назад
Это facepalm, но сколько бы я не посмотрел видео на ютубе, то в каждом неверно объясняется вычитание двоичных чисел.
Дополнен 2 года назад
Решил посмотреть, как устроено вычитание в компьютере на основе логических вентелей, но понял, что эта тема для меня не совсем понятна, хотя много раз сталкивался с отрицательными числами в программировании. Когда решил освежить память, то был удивлен, насколько во всех видео на ютубе неверно объясняется вычитание двоичных чисел.
Дополнен 2 года назад
Точнее они объясняют так, что человек не понимает, почему именно так и ему просто приходится принять это как есть. Через некоторое время конечно же этот человек просто тупо забудет то, что он увидел на видео.
Лучший ответ
Андрей Высший разум (466062) 2 года назад
Вычитание в стандартном двоичном дополнительном коде элементарно:
1. Меняешь знак вычитаемого.
2. Складываешь уменьшаемое и вычитаемое.

Чтобы изменить знак числа в дополнительном коде, надо инвертировать все биты числа и к получившемуся числу прибавить 1.

В действительности, всё ещё проще: разница между сложением и вычитанием в двоичном коде - только в переносе. При сложении перенос появляется при 1 + 1 и работает как ещё одно слагаемое, а при вычитании - при 0 - 1 и работает как ещё одно вычитаемое.

Так что аппаратно схемы двоичных сложения и вычитания очень похожи.
hunterПрофи (744) 2 года назад
Ну опять же вы это скорее всего взяли из памяти или из другого ресурса, а не восстановили это благодаря логике, и я сомневаюсь, что вы понимаете, почему так нужно делать. Вообще я имел ввиду, что в видео не объясняют, в каких случаях работает обычное вычитание столбиком, а в каких оно не работает. Также неправильно объясняют занимание так называемой "единички" у следующего разряда при вычитании.
Андрей Высший разум (466062) hunter, Меня этому в ВУЗе учили - в средине 1980-х. И учили именно понимать. Просто надо читать учебники, а не смотреть видео, клепаемое откровенными неучами. Не двойка, а двоичное 10. Т.е. единица из разряда слева от текущего.
hunterПрофи (744) 2 года назад
При 1-1 также появляется занимание у следующего разряда, если уже было занимание у текущего разряда.
hunterПрофи (744) 2 года назад
Я просто хотел сказать, что все говорят, что занимается единичка при вычитании. Это неправильно! Занимается ДВОЙКА, а приписывается единичка.
hunterПрофи (744) 2 года назад
Объясняли бы правильно и никто бы не писал: "я не до конца понял"
Андрей Высший разум (466062) hunter, Вообще-то всё это объясняют на арифметике в начальной школе - когда проходят вычитание. И замена десятичной системы на двоичную принципы вычитания никак не меняет.
Остальные ответы
Арсений Меренов Мыслитель (7682) 2 года назад
не легче в десятичную перевести и уже в десятичной проводить вычисления?
Некий Загадочный Гений (51289) 2 года назад
Правила арифметических операций в десятичной, двоичной и других позиционных традиционных системах одинаковые, просто делается поправка на старшую цифру.
Вас же не смущает, что в десятичной системе 100 - 1 = 99, и Вы уверенно применяете правила распространения заемов и переносов при вычислениях в десятичной системе?
Аналогично в двоичной 100 - 1 = 11, просто старшая цифра тут 1, а не 9.
Похожие вопросы