可能重复:
int,long等的大小
`long`保证至少为32位?
我想找出我的计算机的每种数据类型的最大值.代码是:
int main() {
using namespace std;
cout << numeric_limits<int>::max() << endl;
cout << numeric_limits<long>::max() << endl;
cout << numeric_limits<long long>::max() << endl;
return 0;
}
Run Code Online (Sandbox Code Playgroud)
打印:
2147483647
2147483647
9223372036854775807
Run Code Online (Sandbox Code Playgroud)
问题1:为什么int和long相同?
问题2:上面的输出来自64位的VS2010.我的c ++程序是否以64位运行?
问题1:为什么int和long是一样的?
由于各种原因(方便),机器架构支持的整数大小往往是2的幂.大多数现代处理器本身可以使用8,16,32和64位整数.不过,也有五种常用的整数类型:char,short,int,long,和long long.所以其中两个必须具有相同的尺寸.
在大多数16位平台,int并且short都是16位.
在大多数32位平台,int并且long都是32位.
在大多数64位平台,long并且long long都是64位.有一个例外......
问题2:上面的输出来自64位的VS2010.我的c ++程序是否以64位运行?
无法从这些数据中分辨出来.Windows是一个平台,long并int有32位和64位程序的大小相同.
| 归档时间: |
|
| 查看次数: |
1254 次 |
| 最近记录: |