Как обнаруживается переполнение в двух дополнениях?
Я вижу, что когда я вычитаю положительное и отрицательное число, используяtwo's complement
Я получаю переполнение. Например, если вычесть 1 из 2, я получу:
2 = 0010
1 = 0001 -> -1 = 1111
2 + (-1) -> 0010 + 1111 = 10001
Так что здесь результат имеет пятый левый бит10001
- это переполнение? Я нашел эти правила для обнаруженных переполнений с двумя дополнениями:
Если сумма двух положительных чисел дает отрицательный результат, сумма переполнена. Если сумма двух отрицательных чисел дает положительный результат, сумма переполнилась. В противном случае сумма не будет переполнена.
Может ли кто-нибудь рассказать о них и показать пример?