先上结果
先记住一个值
为4294967296,后面计算都基于这个值,因为是32位机器
表达式 | 类型 | 求值 |
---|---|---|
-2147483647-1==2147483648U | 无符号 | 1 |
-2147483647-1<2147482647 | 有符号 | 1 |
-2147483647-1U < 2147483647 | 无符号 | 0 |
-2147483647-1<-2147482647 | 有符号 | 1 |
-2147483647-1U<-2147482647 | 无符号 | 1 |
1. -2147483647-1==2147483648U:-2147483647-1=-2147483648,有符号转无符号
-2147483648=2147483648
2. -2147483647-1<2147482647:-2147483647-1=-2147483648
3. -2147483647-1U < 2147483647: -2148482647-1U=4294967295-2148482648=2146484648
4. -2147483647-1<-2147482647:-2147483647-1=-2146484648
5.-2147483647-1U<-2147482647: -2148482647-1U=4294967295-2148482648=2146484648和2147484649=4294967295-2147482647 =2147484649