предположим, у меня есть переменная
int a = 512
Теперь, когда я применяю ~ a, что означает, что кто-то дополняет в c. Как я получаю -513 в качестве выхода.
int - это минимум 16 бит, а двоичный эквивалент 512 равен
0000 0010 0000 0000 И теперь, когда вы делаете его дополнение, оно становится
1111 1101 1111 1111. Теперь кто-нибудь может мне сказать, почему вывод -513.
Могу ли я теперь надеяться, что ребята на этом форуме поняли мой вопрос.