int main(void)
{
unsigned int bit = 512, mBit;
mBit = ~bit;
bit = bit & mBit;
printf("%d %d", bit, mBit);
return 0;
}
Taki kod zwraca mi wynik "0 -513". Według moich obliczeń powinno być "0 511"
bit: 1000000000;
mBit: 0111111111;
bit & mBit = 0000000000
Co jest nie tak?