Я понимаю, что тильда переворачивает все биты, но если я делаю int num = ~0
Почему результат num = -1
, ни максимальное значение int
ни unsigned int
?
Но это максимальное значение unsigned
:
#include <iostream>
#include <limits>
int main() {
std::cout << ( unsigned(-1) == std::numeric_limits<unsigned>::max() )
<< std::endl;
return 0;
}