Почему в двух дополняющих друг друга, 1001 и 11111001 оба -7? - PullRequest
0 голосов
/ 19 сентября 2018

Когда я узнал, что два дополняют друг друга, меня учили, что для числа со знаком

0111 соответствует 7, поэтому, используя два дополнительных,

0111 -> 1000 + 1 -> 1001, is -7

, т. Е. 1001представляет -7.

Пока я обновлял эту концепцию на YouTube, я вижу видео, в котором говорится, что

0000 0111 представляет 7, поэтому, используя два дополнительных,

0000 0111 -> 1111 1000 + 1 -> 1111 1001, is -7,

Таким образом, 11111001 представляет -7.

Я запутался.Итак, просто взглянув на двоичное число со знаком, как мы можем определить его значение?Я подумал, что 11111001 должно равняться -121, поскольку первое число MSB равно 1, поэтому оно отрицательно, а 1111001 равно -121 в десятичном формате, поэтому не должно ли 11111001 быть -121?Что я сделал не так?

Спасибо, ребята!

1 Ответ

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

Единственное различие между этими двумя примерами заключается в количестве битов, которые вы используете для каждого числа.

1001 равно -7 с 4 битами и 11111001 равно -7 с 8 битами.

Если вы сложите отрицательное и положительное значения одного и того же абсолютного числа, результат будет равен нулю.

И то, и другое равно -7 + 7 = 0

1001 + 0111 = 1|0000 

11111001 + 00000111 = 1|00000000 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...