Два дополнения числа и его отрицательная разница чисел?

Поэтому мне сказали, что дополнение к двоим обычно используется для нахождения дополнения к числу, и я использовал его только для дополнения положительных чисел (то есть положительного -> отрицательного преобразования), однако я только что получил в книге пример, который спрашивает меня следующее:

Экспресс 23, -23 и -9 в 8-битной двоичной двоичной форме дополнения

что это значит? 23 означает -23 в двоичном коде, а -23 означает 23?

Сорта смущен там

2 ответа

Решение

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

23 = 00010111b

Чтобы получить -23 (дополнение 2 к 23), переверните все биты и добавьте 1:

 11101000b + 1
=11101001b (-23)

-9 является дополнением 2 к 9

00001001b

Итак -9

11110111b (Flipping and add +1)

Смотрите также здесь

Представление положительных чисел в дополнении 2 такое же, как представление без знака. Ситуация начинает меняться, когда в игру вступает негативное представление. Таким образом, в общем случае для данных w битов числа, которые могут быть представлены в дополнении 2, составляют от -2^(w-1)-1 до 2 ^ (w-1), причем бит w является битом со знаком. Так как у вас есть 8 битов, вы можете представлять числа от -128 до 127. 8-й бит будет битом со знаком, где 0 будет положительным, а 1 - отрицательным. Для любого положительного представления числа в дополнении N двоичного числа 2 отрицательный аналог -N довольно просто найти, просто инвертировать биты и добавить единицу. Пример: 7 в дополнении 2 - это 0111, инвертирование этих битов дает: 1000, добавление единицы дает 1001, что составляет -7 в дополнении 2! Надеюсь это поможет!

Другие вопросы по тегам