int类型在32位编译器下占4个字节,在C/C++语言中以下不能表示int类型中最大值的是( )A.INT_MAXB.2147483647C.2^31-1D.0x7fff
4个字节的int类型,其最大值为 2147483647
要看int是有符号形还是无符号形 有符号的话第一位代表正负其余31位代表数字最大为2的31次方减一 无符号32全代表大小最大数位2的32次方减一
1字节=8位,4字节就是32位,还要拿出一位标识+-,所以只有31位可用,最大值是2的31次方
4字节 共计32位 一位做符号位 0是正数,1是负数 还剩31位。 最大正数 就是2^31-1 也就是2147683647 本来 对应的 负数也该是2147683647个 但1后面全0这个,是-0,没有什么意义,就多加一个负数,于是是2147683648个负数 也就是到-2147683648 ...
剩下31位 只能表示0~2^31 -1 范围了 不会是2^32 所以是2147683647
float是用科学计数来存储的,比较复杂,所以表示数字可以很大,但是不精确。