Доказательство переполнения с нести наши и нести в - PullRequest
0 голосов
/ 25 сентября 2018

У меня есть упражнение, которое я на самом деле не понимаю.

Докажите, что в системе счисления дополнения числа 2 переполнение происходит тогда и только тогда, когда перенос из позиции знака не равен переносу впозиция знака.Рассмотрим три случая: добавление двух положительных чисел, добавление двух отрицательных чисел и добавление двух чисел с противоположным знаком.

Я знаю, как рассчитывать при добавлении номеров «кто», и как видеть, переполняется ли добавление или нет, глядя на перенос и выполнение

Но как мне поступить?это доказательство в общем?

1 Ответ

0 голосов
/ 25 сентября 2018

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

Для каждого из этих трех случаев (два положительных, два отрицательных, по одному на каждый),рассмотрим четыре подслучаа (перенести в и из знакового бита, перенести в, но не из, вынести, но не в, вообще не переносить).В каждом случае покажите, что некоторые из этих под-случаев невозможны.Затем посмотрите на каждый подслучайник и посмотрите, не означает ли это переполнение.

Давайте рассмотрим первый случай - два положительных числа.Сначала покажите, что это невозможно для любого выполнения знакового бита, поэтому удаляются два подслучая.Затем покажите, что перенос в знаковый бит (но не из) является условием переполнения, а отсутствие переноса в знаковый бит (и ни один из) не является условием переполнения.

Тогда в каждом ив каждом подслучае вы увидите, что переполнение происходит, когда два переноса (в и из) отличаются, и переполнение не происходит, когда оба переноса равны.

Это не может быть «общим способом»искали, так как нужно рассмотреть двенадцать комбинаций падежей и подслучаев, исключая одни и рассматривая последствия других.Но это работает.Если вы хотите больше подробностей, покажите больше собственных работ, и я буду рад добавить больше.

...