心理

当前位置 /首页/完美生活/心理/列表

int类型值域是什么

int类型值域是什么

int32的数值取值范围为“-2147483648”到“2147483647”而int64的数值取值范围为“-9223372036854775808”到“9223372036854775808”。

int32的取值范围

计算机中32位int类型变量的范围,其中int类型是带符号整数。

正数在计算机中表示为原码,最高位为符号位:

1的原码为0000 0000 0000 0000 0000 0000 0000 0001

2147483647的原码为0111 1111 1111 1111 1111 1111 1111 1111

所以最大的正整数是2147483647

负数在计算机中表示为补码,最高位为符号位:

-1:

原码为1000 0000 0000 0000 0000 0000 0000 0001

反码为1111 1111 1111 1111 1111 1111 1111 1110

补码为1111 1111 1111 1111 1111 1111 1111 1111

-2147483647:

原码为1111 1111 1111 1111 1111 1111 1111 1111

反码为1000 0000 0000 0000 0000 0000 0000 0000

补码为1000 0000 0000 0000 0000 0000 0000 0001

所以最小的负数是-214748364

int的取值范围是具体的数值而不是指它所占的字节数,在代码int a=x中,只要x的数值在int的取值范围之内就是正确的。

要明示地将一个值转换为 int,用 (int) 或 (integer) 强制转换。不过大多数情况下都不需要强制转换,因为当运算符,函数或流程控制需要一个 int参数时,值会自动转换。

int2 是2字节 有符号整型, 符号占1位,余下15位2进制位表示数值 。最大数正数是 0x7fff

int4 是4字节 有符号整型 符号占1位,余下31位2进制位表示数值 。最大数正数是 0x7fffffff

int8 是8字节 有符号整型 符号占1位,余下63位2进制位表示数值 。

最大数正数是 0x7fffffffffffffff

(16 进制 到 10进制 换算 不需要 我在这里 啰嗦了 吧)

int 等于 int4 或 int8 或 int 2 取决于 编译器品种,一般用 int4.

详细的 值域范围 在头文件 limits.h 里。

int2 范围 SHRT_MIN,SHRT_MAX (-32768, +32767)

int4 范围 LONG_MIN, LONG_MAX (-2147483648 +2147483647)

int8 可能用 LONG_LONG 或 。。

TAG标签:int 值域 #