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

  • 早期的操作系统是16位系统, 
    int用二字节表示,范围是-32768~32767; 
    long用4字节表示,范围是-2147483648~2147483647。
  • 后来发展到32位操作系统, 
    int 用4字节表示,与long相同。
  • 目前的操作系统已发展到64位操作系统,但因程序编译工艺的不同,两者表现出不同的差别: 

32位编译系统:int占四字节,与long相同。 

64位编译系统:int占四字节,long占8字节,long数据范围变为:-263~263-1

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

标准是这么说的:长整型至少和整型一样长,整型至少和短整型一样长。 

这个的规则同样适用于浮点型long
double至少和double一样长,double至少和float一样长。 

至于如何实现要看编译器厂商.

1. short<=int<=long

short int 2个字节

int 2/4字节

long 4/8字节

long long 8字节

2. 关于long long 
(1)long long,长度为8个字节(64位); 
(2)visual c++ 6.0中不支持,long long int,是在vc99中添加此功能的,所以我们在vc6.0中编译有long long 的数据时,会出错,但是在VS更高的版本中,是能通过的。

所以有时候发现用int的时候数据会溢出,用long long就不会(如leetcode 69. Sqrt(x)时定义i和j,防止得到的平方结果太大溢出)


3.double和int区别

int表示整数,double表示实数(可以带小数部分),并且double表示的范围更大。



发布了75 篇原创文章 · 获赞 34 · 访问量 2025

猜你喜欢

转载自blog.csdn.net/chongchujianghu3/article/details/105166685