已经问了很多类似的问题,但它仍然让我感到困惑
unsigned int a = -1;
int b = ~0;
if (a == b)
printf("%u\t%d", a, b);
返回
4294967295 -1
我了解这些值是如何存储在 C 中的以及为什么它会显示这些数字,但我的问题是,这里如何a==b
返回true
?
已经问了很多类似的问题,但它仍然让我感到困惑
unsigned int a = -1;
int b = ~0;
if (a == b)
printf("%u\t%d", a, b);
返回
4294967295 -1
我了解这些值是如何存储在 C 中的以及为什么它会显示这些数字,但我的问题是,这里如何a==b
返回true
?