Я играл с дополнением 2 и нашел более быстрый способ найти значение отрицательного двоичного кода. Пожалуйста, помогите мне доказать это (правильно или неправильно) или почему это работает! Заранее спасибо!Как доказать эту теорию я узнал? Более быстрый способ сделать дополнение 2 (узнав значение отрицательного двоичного кода)
2 дополнением является очень полезным для нахождения значения в двоичном, но я думал о гораздо более кратким способом решения такой проблемы (никогда не видел, чтобы кто-то опубликовать его):
взять бинарник, например, : 1101, который [предполагается, что пространство «1» является знаком], равным -3.
с использованием дополнения 2 мы сделали бы это ... flip 1101 to 0010 ... add 0001 + 0010 ===> дает нам 0011. 0011 в положительном двоичном = 3. поэтому 1101 = -3!
То, что я понял:
вместо все листать и добавление, вы можете просто сделать основной метод решения для положительных бинарного (позволяет сказать 0101) есть (2 * 0) + (2 * 1) + (2 * 0) + (2 * 1) = 5.
сделать то же самое понятие с отрицательным! (с небольшим TWI й)
принять +1101, например:
для первого номера вместо 2 * 1 = , делать - (2 * 1) = -8.
затем продолжить, как обычно, делая -8+ (2 * 1) + (2 * 0) + (2 * 1) = -3
Примечание: это, казалось, работало для каждого теста, который я сделал.
Спасибо, что посмотрели. Кроме того, если вы этого не видели раньше, пожалуйста, дайте мне знать, я никогда не видел этого нигде.