C语言int类型最大值

“主要问题是出在输出控制上,因为你定义的是无符号整数因此16位都用来表示数值,没有符号位,但是你输出处用%d是不对的,%d是用来输出有符号整型数的。因此会将b的值以有符号的形式输出。而65536这个值在16位有符号整数表示中正好是-1.

现在基本都是用32位表示整型数了,因此这样写,不会在32位编译系统中发错误。”

请问现在unix下C中int类型的最大长度到底是2的16次方-1还是2的32次方-1?
我用:
int i = 90000;
依然可以用%d打印,按说”大是0---65535,8位2进制数,有符号也是8位2进制,只不过第一位用来表示符号了,所以有符号的范围是-32768---32767.“

谢谢!

0x00CBF95C是int变量a的地址,从内存查看器可以看出,十进制数16被存储为00 00 00 10

说明单个'0'存储范围为0-15,表示成二进制的话,一个'0'存储范围相当于0000~1111,4个二进制位;

这里有8个'0',相当于一个int型是由4*8=32个二进制位来表示。

温馨提示:内容为网友见解,仅供参考
第1个回答  2012-11-02
C语言规范中并没有规定Int型到底用多少位,只是规定了不能小于16位。Int的字节数具体取决于具体的系统和编译器,unix下int型一般都是32位的。
第2个回答  推荐于2018-05-22
K&R的C程序设计说了int的大小与机器有关。

#include <stdio.h>
#include <limits.h>

int main(void)
{
printf("%d\n", INT_MAX);
return 0;
}

可以验证最大int.本回答被网友采纳
第3个回答  2012-11-02
你可以用sizeof(int)看下是几位,就知道是32,还是16了,也许是64.。。。
第4个回答  2017-08-01
-2147483648~+2147483647

c语言int最大值是多少??
C语言中int的最大值是2147483647。解释:在C语言中,int类型通常占用了32位二进制数。其中,最高位用于表示正负,其余位用于表示数值的大小。由于是有符号整数,其取值范围是从-2的31次方到2的31次方减1。具体来说,32位二进制数的最大正数值是2的31次方,即2147483648。但由于需要保留一位给正数符号...

c语言int最大值是多少?
int 32位,根据补码原理,它得最大值等于最高位为0,其他位为1得二进制数,等于 2^31 -1 = 2147483647

C语言int类型最大值是多少?
结论是,C语言中int类型的最大值取决于编译器的位宽。在16位编译器中,由于int占用16位,占用内存2字节,最大值为32767。然而,对于32位和64位编译器,int的位宽提升到了32位,占用4字节,此时的最大值分别为2147483647和更大的数值。这个最大值的计算基于最高位为符号位,n位整数的最大值为2^(n...

c语言 int最大值是多少??
在C语言的世界里,整数类型的最大值取决于其字节数。对于基本的int类型,它占用4个字节,对应32位,因此其最大值是2^32-1,具体数值为2147483647。这里的int和long int都是有符号整数,所以它们的范围是从-2147483648到2147483647,也就是-2^31到2^31-1。相比之下,无符号的long int类型,由于没有...

int最大值是多少?
int类型的最大值取决于编译器的位宽。对于16位编译器,int占用16位,其最大值为32767;而对于32位和64位编译器,int占32位,其最大值为2147483647。要确定具体平台的int最大值,可以使用sizeof(int)获取int占用的字节数,再乘以8得到位数,最高位作为符号位,所以最大值是2的(n-1)次幂,其中n为...

c语言 int最大值
在C语言中,int类型的存储最大值取决于编译器的位数。具体来说:1. 对于16位编译器,int类型占用16位,即2个字节,其最大整数值为32767。这是因为在16位的范围内,最高位通常用于表示符号,剩下的15位用于存储数值,所以最大正整数为2^(15-1)。2. 对于32位和64位编译器,int类型则占32位,...

int的最大值是多少?
在C语言中,int类型的取值范围取决于编译器和操作系统。一般来说,int类型的取值范围为-2147483648到2147483647。int 占用4个字节,每个字节有8个比特,因此共有32个比特。每个比特位可以是1或0,所以共有2的32次方种选择。然而,在表示正数和负数时,我们使用了第一个比特位。其中,0表示正数,1表示...

c语言 int最大值是多少??
即为32位int类型最大值。C语言中最大的整型数据类型是long类型,占4个字节 C中短整型和整型均占2个字节,取值范围是 -32768 ~~~ 32767 长整型占4个字节,取值范围是 -2147483648 ~~~ 2147483647 如果是无符号数的话,可以表示的数据就是 短整型和 整型: 0--- 65535长整型: 0---429496...

int的最大值是多少?
对于16位编译器,int最大为32767;而对于32位和64位编译器,int最大值为2147483647。要确定具体的int最大值,可以查看编译器的字节数,将其乘以8得到位数,最高位为符号位,所以最大值为2的(n-1)次幂,其中n为int占用的位数。在C语言中,可以通过特定的代码技巧计算int的最大值,如通过取反操作或...

c语言中int类型最大是多少?
答案是你的机器能用int表示的最大真的-1的值 正常的32位机可以表达4294967296个数,所以答案为4294967295 你这道题就选B吧,应该是个古老的题(估计是在TC2.0上测试的)解释如下:b=-1,是个有符号整形变量;a是个无符号整型变量,将一个有符号整型变量的值赋给一个无符号整型变量会发生“溢出”...

相似回答