C语言中,int型数据的取值范围与计算机操作系统和编译器有关,没有一个固定的数值。我们可以根据它占用的内存大小来推断它的取值范围。
一个字节有8个位,表示的数据的取值范围是2^8 -1,即255。如果占用的内存是两个字节,无符号型取值范围是2^8 x2^8 -1 = 262143 ~ 2147483647;有符号型取值范围是-262143 ~ -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