int还是unsigned int
Posted in 学习笔记 on 八月 13th, 2010 by 亚楠兄 – 4 Comments一切开始于今天偶然看到的一道C语言题目
int a = -1;
unsigned int b = 2;
那么a+b>a?为什么?a+b>b?为什么?
然后我认为是:
a 用二进制表示为 11111111 11111111 11111111 11111111
b 用二进制表示为 00000000 00000000 00000000 00000010 (转换为int)
加起来以后,溢出 00000000 00000000 00000000 00000001
于是有a < a+b < b
然后在VS2008里测试一下 悲剧了。。。结果是 a+b < a 且 a+b < b




