[转载]32位系统能表示的整型数的范围(C和C++程序员面试秘笈P11面试题7)

本文复制自https://blog.csdn.net/sinat_33718563/article/details/74520071,是为了自己以后查看方便才复制过来的,谢谢原博主。

C/C++中,整型数据是用int来进行定义的,整型的范围就是指int类型所能表示的整数的范围。在32位或64位机器中,int占4个字节,即32位。 int能表示的最大正整数为:0111 1111 1111 1111 1111 1111 1111 1111  (最高位表示符号位,正数符号位为0)对应的10进制数为2^31-1=2147483647(有一个符号位,因此是2的31次方,表示的数包括0,所以减1),对应的十六进制表示为:0x7FFFFFFF。 int能表示的最小负整数为:1000 0000 0000 0000 0000 0000 0000 0000  (最高位表示符号位,负数符号位为1),负数在计算机中以补码的形式存在,所以对应的原码(补码的补码)也是1000 0000 0000 0000 0000 0000 0000 0000,对应的十六进制表示为0x80000000,而C/C++规定该值为-2^31=-2147483648。 所以最终,int类型(整数类型)的范围为-2^31 ~ 2^31-1,即-2147483648~2147483647,十六进制表示:0x80000000~0x7FFFFFFF。

本文来自 rs勿忘初心 的CSDN 博客 ,全文地址请点击:https://blog.csdn.net/sinat_33718563/article/details/74520071?utm_source=copy

posted @ 2018-09-26 16:08  Dana_is_a_painter  阅读(1001)  评论(0编辑  收藏  举报