
关于int的取值范围
int的取值范围不是-32768~32767么那下面的语句为什么可以实现呢inti;for(i=100;i<1000000000;i++)...
int的取值范围不是-32768~32767么 那下面的语句为什么可以实现呢
int i;
for(i=100;i<1000000000;i++) 展开
int i;
for(i=100;i<1000000000;i++) 展开
8个回答
展开全部
不同的编译器int的长度不同,各种数据类型的长度也不一定相通
16位编译器int=short int=2字节
32位编辑器int=log int=4字节
具体编写一个程序输出各种类型占用字节数就知道了
printf("int %d\n",sizeof(int));
16位编译器int=short int=2字节
32位编辑器int=log int=4字节
具体编写一个程序输出各种类型占用字节数就知道了
printf("int %d\n",sizeof(int));
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
C语言中int的取值范围为:-2147483648 ~ 2147483647
解释如下:
int类型在C语言中占4个字节,即32个二进制位。
当表示正数时,最高位为符号位(符号位为0),最大的正数是 0111 1111 1111 1111 1111 1111 1111 1111 即2^31 -1 = 2147483647
当表示负数时,最高位为符号位(符号位为1),最小的负数是 1000 0000 0000 0000 0000 0000 0000 0000 而在计算机中是以补码的形式存储的,C语言规定 1000 0000 0000 0000 0000 0000 0000 0000 的补码为-2147483648
所以C语言中int的取值范围为:-2147483648~2147483647
解释如下:
int类型在C语言中占4个字节,即32个二进制位。
当表示正数时,最高位为符号位(符号位为0),最大的正数是 0111 1111 1111 1111 1111 1111 1111 1111 即2^31 -1 = 2147483647
当表示负数时,最高位为符号位(符号位为1),最小的负数是 1000 0000 0000 0000 0000 0000 0000 0000 而在计算机中是以补码的形式存储的,C语言规定 1000 0000 0000 0000 0000 0000 0000 0000 的补码为-2147483648
所以C语言中int的取值范围为:-2147483648~2147483647
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
-32768 ~ 32767
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询