long和int表示长度一样吗(整数类型intlong和long)
早期的操作系统是16位系统,
- int 用2字节表示,范围是-2^15 ~ 2^15-1;
- long 用4字节表示,范围是-2^31 ~ 2^31-1。
后来发展到32位操作系统,
- int 用4字节表示,范围是-2^31 ~ 2^31-1;
- long 与 int 相同,也用4字节表示,范围是-2^31 ~ 2^31-1。
现在操作系统已发展到64位操作系统,但也有所差别:
- 32位编译系统:int占4字节,与long相同,范围是-2^31 ~ 2^31-1。
- 64位编译系统:int占4字节,long占8字节,long数据范围变为:-2^63~2^63-1
下图是在64位编译系统上的结果:
cppreference 给出的定义如下:
- int:basic integer type. It’s guaranteed to have a width of at least 16 bits. However, on 32/64 bit systems it is almost exclusively guaranteed to have width of at least 32 bits.
- long:target type will have width of at least 32 bits.
long long 是 C 的64位整型的基本类型,从C99开始引入这个概念,在后续的标准中完善概念和定义,官方正式标准如下:
- long long:target type will have width of at least 64 bits.(since C 11)
下表对不同的整数类型做了一个很好的总结:
,
免责声明:本文仅代表文章作者的个人观点,与本站无关。其原创性、真实性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容文字的真实性、完整性和原创性本站不作任何保证或承诺,请读者仅作参考,并自行核实相关内容。文章投诉邮箱:anhduc.ph@yahoo.com