Добрый день!
Пожалуйста, помогите разобраться - просмотрела разные материалы
в интернете, но все же приходится вернуться к этой базовой теме,
потому что не понимаю.
Меня интересует как с помощью one's complement положительное
число переводится в отрицательное. Я понимаю, что нужно
флипануть значения, но я не вижу, что результат дает именно
нужное число.
Например, возьмем 4х битовую систему:
7 in decimal переводим в binary, получается 0111;
чтобы сделать -7 с помощью one's complement, флипую
все цифры и получаю 1000. Если первая единица означает
знак, то получается, что это -8, но потом идут нули, как
получается -7? 1001 похоже на -7, хотя это 9, если
unsigned. тоже самое, если взять 5 и -5:
0101 это 5, тогда 1010 должно быть -5, но -8+2 = -6, а
а не -5.
Спасибо!
как получается именно -7?