我想知道int的取值范围,long的取之范围是不是比int的大哪,我在linux下测试的结果是不大
我测试了一把,int和long一样2099999999算起来还不到2G
那么4G之痒又是哪来的哪??
c++ 中int和long ,int和long long有区别吗,主要是表示数据的大小上??
-
- 帖子: 448
- 注册时间: 2008-07-10 15:08
- kwarph
- 帖子: 51
- 注册时间: 2006-06-19 19:19
- 联系:
Re: c++ 中int和long ,int和long long有区别吗,主要是表示数据的大小上??
这个是由C++实现决定的,我的g++: gcc 版本 4.3.2 (Ubuntu 4.3.2-1ubuntu12) 32位操作系统。
long long目前还不是C++标准类型。
代码: 全选
numeric_limits<int>::max():2147483647
numeric_limits<long>::max():2147483647
numeric_limits<long long>::max() : 9223372036854775807
-
- 帖子: 448
- 注册时间: 2008-07-10 15:08
Re: c++ 中int和long ,int和long long有区别吗,主要是表示数据的大小上??
谢谢,我的测试的是2099999999,int和long都是这么大
-
- 帖子: 2841
- 注册时间: 2006-09-11 22:47
Re: c++ 中int和long ,int和long long有区别吗,主要是表示数据的大小上??
4G 之痒说的是“地址宽度”而不是“数据宽度”。weihua2008 写了:我想知道int的取值范围,long的取之范围是不是比int的大哪,我在linux下测试的结果是不大
我测试了一把,int和long一样2099999999算起来还不到2G
那么4G之痒又是哪来的哪??
int 通常对应着缺省的数据宽度。
size_t 或者 void * 这两个类型通常对应着地址宽度。
至于 long 是否比 int 大,请你装一个 64bit ubuntu 再来做测试。
- 佚之狐L
- 帖子: 840
- 注册时间: 2008-01-28 13:02
Re: c++ 中int和long ,int和long long有区别吗,主要是表示数据的大小上??
这是个什么数呢?int默认算成有符号的long int,可简写为long,上限应该是2^64-1吧,我用过的几个编译器都是这么算的,weihua2008 写了:谢谢,我的测试的是2099999999,int和long都是这么大
不好意思,2^63-1,有一位是符号位
上次由 佚之狐L 在 2009-05-07 21:52,总共编辑 1 次。
携书弹剑走黄沙,瀚海天山处处家;
大漠西风飞翠羽,江南八月看桂花
大漠西风飞翠羽,江南八月看桂花
-
- 帖子: 448
- 注册时间: 2008-07-10 15:08
Re: c++ 中int和long ,int和long long有区别吗,主要是表示数据的大小上??
这话我就不懂了,默认的int你是说与long是等同的?
你说的上限应该是2^64-1这话不对,你用过啥编译器是这么算的?
你确定都是吗??
你说的上限应该是2^64-1这话不对,你用过啥编译器是这么算的?
你确定都是吗??
-
- 帖子: 6
- 注册时间: 2008-12-27 21:37
Re: c++ 中int和long ,int和long long有区别吗,主要是表示数据的大小上??
我们老师说int是缺省值,一般就是long.
- pollothana
- 帖子: 262
- 注册时间: 2007-03-08 10:47
Re: c++ 中int和long ,int和long long有区别吗,主要是表示数据的大小上??
int最短和short一样(2字节),最长和long一样(4字节),具体由编译器决定,不过现在应该都是4字节了。
My blog: hsquared66.blogspot.com