C语言中int、long int、long long的区别

标签: c语言 int long int long long
14827人阅读 评论(0) 收藏 举报
分类:
原文地址:http://blog.csdn.net/foreverhuylee/article/details/38725127

1、关于int 和 long int

(1)在VC下没有区别。两种类型均用4个字节存放数据。

(2)VC是后出的编译器,之前有很多早期的C编译器,在早期编译器下long int占4个字节,int占2个字节。

(3)之所以有“整型”和“长整形”两种不同类型,是C语言在诞生时发明者规定好的,

前者存储的整数的值域小于后者。 

这个问题不用牵肠挂肚,在VC下用谁都可以。

(4)在标准中,并没有规定long一定要比int长,也没有规定short要比int短。

标准时这么说的:长整型至少和整型一样长,整型至少和短整型一样长。
这个的规则同样适用于浮点型long double至少和double一样长,double至少和float一样长。
至于如何实现要看编译器厂商

(5)short<=int<=long

VC里面还有个
long long 是占8个字节的


2、关于long long

(1)long long在win32中是确实存在,长度为8个字节;定义为LONG64。
为什么会出现long int呢,在win32现在系统中,长度为4;在历史上,或者其他某些系统中,int长度为2,是short int。
即便是long long,在TI的有款平台中,长度为5。
也就是说,每种类型长度,需要sizeof才知道,如果可能,最好用union看看里面的数据,可以消除一些类型的假象长度。  

(2)visual c++ 6.0中不支持,long long int,是在vc99中添加此功能的,所以我们在vc6.0中编译有long long 的数据时,会出错,但是在VS更高的版本中,是能通过的。

ACM题目中“求矩形的个数”那道题,就需要用到long long。

查看评论

int、long、long long的范围

做了一道测试数据达到10^15的题,把int、long、long long学习了一下。 /*int、long、long long 的范围*/ #include int main(){ __int6...
  • ultimatezy
  • ultimatezy
  • 2016-04-14 21:19:56
  • 2752

C语言中关于int、long int、long long 的区别

关于i (1)在VC下没有区别。两种类型均用4个字节存放数据。 (2)VC是后出的编译器,之前有很多早期的C编译器,在早期编译器下long int占4个字节,int占2个字节。 (3)之所以有“...
  • foreverhuylee
  • foreverhuylee
  • 2014-08-21 09:28:15
  • 43895

int、long、long long取值范围

Mark~~一下。。 unsigned   int   0~4294967295    int   -2147483648~2147483647  unsigned long 0~429...
  • niuox
  • niuox
  • 2012-11-27 21:22:23
  • 103689

一个int和long占多少个字节

一个int占多少个字节? 这个问题我们往往得到的答案是4. 但是int到底占多少个字节,却跟你的机器环境有关. [html] view plaincopyprint? ...
  • strongwangjiawei
  • strongwangjiawei
  • 2012-12-14 16:03:53
  • 20864

关于int、short int、long int、long long 的区别

早期的操作系统是16位系统, int用二字节表示,范围是-32768~32767; long用4字节表示,范围是-2147483648~2147483647。 后来发展到32位操作系统, int...
  • u012223913
  • u012223913
  • 2016-04-18 18:31:12
  • 7499

__int64 与long long 的区别

//为了和DSP兼容,TSint64和TUint64设置成TSint40和TUint40一样的数  //结果VC中还是认为是32位的,显然不合适  //typedef signed long int ...
  • shiwei408
  • shiwei408
  • 2012-04-15 19:25:53
  • 93799

int 和 long 在不同操作系统下所占用的字节数

int 和 long 在windows和linux 下所占字节数如下图所示   win32 win64 linux32 linux64 int  4 4 4 ...
  • t3580236
  • t3580236
  • 2016-10-19 09:33:10
  • 2217

java long转换为int 类型 注意事项

public static int subDateFmtStr(String start, String end) { if (start == null || end == null) { ...
  • ying890
  • ying890
  • 2015-12-22 16:24:58
  • 5327

C语言的整型溢出问题 int、long、long long取值范围 最大最小值

溢出和取值范围 C语言的整型溢出问题 整数溢出 int、long int 、long long int 占用字节疑问 《C和指针》中写过:long与int:标准只规定long不小于int的长度...
  • qq_16234613
  • qq_16234613
  • 2017-08-24 20:48:13
  • 5869

int,long,long long类型的数值范围

int ,long ,long long 等各种数据类型的范围
  • qianbitou000
  • qianbitou000
  • 2016-07-18 09:15:23
  • 20525
    个人资料
    专栏达人 持之以恒
    等级:
    访问量: 163万+
    积分: 2万+
    排名: 466
    博客专栏