Как мы все знаем, как правило, отрицательные числа в памяти представляет собой, как двоичное числа комплемента, как этотОбъясните, почему х == ~ (~ х + 1) + 1 (дополнение до двух и обратно!)
from x to ~x + 1
и получить назад мы не делаем очевидную вещь, как
~([~x + 1] - 1)
, но вместо этого мы делаем
~[~x + 1] + 1
может кто-то объяснить, почему он всегда работает? Я думаю, что могу доказать это с помощью 1-битного, 2-битного, 3-битного чисел, а затем использовать математическую индукцию, но это не помогает мне понять, как именно это работает.
Спасибо!
thats безупречный. я изо всех сил старался удалить скобки. где я могу прочитать об этом определении вычитания более подробно? –
@SolarDia Я не знаю, но я также добавил для этого доказательство, но, возможно, теперь он крутится круговым. – harold
Спасибо, сэр, это не круговой, и он выглядит очень последовательным. определение дополнения двух -> определение вычитания -> ~ (~ x + 1) + 1 == x не уверен, что даже если это будет справедливо, но мне это нравится), этот комментарий будет получен, когда я получу достаточную репутацию. –