C语言int的长度问题
今天查找客户提出的一个问题时,发现原来是由益处导致的,但有些不解!现象如下:
int a = 2147483647;
int b = 2147483648;
sizeof(int) = 4;
printf("a = %d b = %d\n", a, b); //结果 a =2147483647 b =-2147483648
printf("a = %u b = %u\n", a, b); //编译时候 “警告:这个小数常量仅 ISO C90 中是无符号的”,这个警告中文描述应该不对, 其中的"小数"应该是"十进制"
由以上现象可以看出int类型在程序运行时候只给他们分配了2个B, 但是sizeof(int)却是4个B
有没有这方面研究,或者有相关资料的提供一点。谢谢!
[解决办法]
[解决办法]
me too
[解决办法]
[解决办法]
谢谢散分!
[解决办法]
恭喜楼主,我是来接分的。
[解决办法]
这个题好 呵呵呵 接分
[解决办法]
补码..................
[解决办法]
对电脑而言只有二进制字节及其对应的二进制地址,对人脑才有signed、unsigned、int、long、float、double、……
[解决办法]
抢!!!
[解决办法]
多在机器上试一下,就清楚了
[解决办法]
[解决办法]
[解决办法]