Whar вы имеете в виду "когда я дополняю 1 (~ 1),"? Существует то, что называется Ones-дополнение, и есть то, что называется Twos-Complement. Twos-Complement более распространен (он используется на большинстве компьютеров), так как он позволяет добавлять и вычитать отрицательные числа с использованием того же алгоритма, что и порядковые числа.
-комплемент Двойки создается путем принятия двоичного представления числа и положительного номер переключения каждого бита от 1 до 0 и от 0 до 1, а затем добавить один
5 0000 0101
4 0000 0100
3 0000 0011
2 0000 0010
1 0000 0001
0 0000 0000
-1 1111 1111
-2 1111 1110
-3 1111 1101
-4 1111 1100
-5 1111 1011
etc.
FWIW, в эффекте '-' оператор делает именно то, что вы описываете; берет два дополнения. Имея оператор '~', это также будет ... избыточным. – geoffspear
спасибо .... go it – Akash