这是来自http://msdn.microsoft.com/en-us/library/s3f49ktz(v=VS.80).aspx的 MSDN 链接
它说: unsigned int : 4byte Range of Value 0 to 4,294,967,295
因此我的测试代码:
void main(void)
{
unsigned int sum; //4byte, 32bit
sum = 2147483648; //2^31 represent by 1 followed by 31 0s
printf("sum is %d\n",sum);
sum = sum -1 ; //2^31-1 represent by 0 followed by 31 1s
printf("sum is %d\n",sum);
getchar();
}
我确定 4,294,967,295=2^32-1,printf 将打印“0”,转储最高有效位我认为 MSDN 应该写值范围:0 到2147483647 对吗?