Как доказать эту теорию я узнал? Более быстрый способ сделать дополнение 2 (выяснение значения отрицательного двоичного кода)

Я играл с дополнением 2 и нашел более быстрый способ найти значение отрицательного двоичного кода. Пожалуйста, помогите мне доказать это (правильно или неправильно) или почему это работает! Заранее спасибо!

Дополнение 2 очень полезно для нахождения значения двоичного файла, однако я подумал о гораздо более кратком способе решения такой проблемы (никто не видел, чтобы кто-нибудь опубликовал его):

возьмем двоичный файл, например: 1101, который [при условии, что пробел "1" является знаком] равен -3.

используя дополнение 2, мы сделаем это... перевернем 1101 на 0010... добавим 0001 + 0010 ===>, получим 0011. 0011 в положительном двоичном = 3. поэтому 1101 = -3!

Что я понял:

вместо того, чтобы все переворачивать и добавлять, вы можете просто сделать основной метод решения для положительного двоичного кода (скажем, 0101): (23 * 0) + (22 * 1) + (21 * 0) + (20 * 1) = 5.

Сделайте точно такую ​​же концепцию с негативом!(С небольшим поворотом)

возьмите 1101, например:

для первого числа вместо 23 * 1 = 8 сделать - (23 * 1) = -8.

затем продолжайте как обычно, выполнив -8 + (22 * 1) + (21 * 0) + (20 * 1) = -3

Примечание: похоже, это работало для каждого теста, который я проводил.

Спасибо за поиск. Кроме того, если вы не видели этого раньше, пожалуйста, дайте мне знать, я никогда не видел это нигде.

1 ответ

Решение

Это решение, кажется, работает для тестов, которые я сделал! Спасибо за быстрое решение дополнения 2, я все еще буду проверять некоторые более сложные вопросы.

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