首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

求解C++里int 跟 long 的区别

2013-04-26 
求解C++里int 和 long 的区别为什么C++里int 和long 的字节数是一样的?他们有什么区别?int n_int INT_MA

求解C++里int 和 long 的区别
为什么C++里int 和long 的字节数是一样的?他们有什么区别?


int n_int = INT_MAX;
short n_short = SHRT_MAX;
long n_long = LONG_MAX;
long long n_llong = LLONG_MAX;

//sizeof operator yields size of type or of variable
cout << "int is " << sizeof n_int << " bytes." << endl;
cout << "short is " << sizeof n_short << " bytes." << endl;
cout << "long is " << sizeof n_long << " bytes." <<endl;
cout << "long long is " << sizeof n_llong << " bytes." <<endl;
cout << endl;


结果int 和long 字节数是一样的,他们不是应该有区别吗??
[解决办法]
C/C++规定:sizeof(int) <= sizeof(long)

[解决办法]
不同的编译器对应不同大小,一般来说shotr<=int<=long
常见的int与long同为4字节
[解决办法]
C/C++语言规定:sizeof(int) <= sizeof(long)
一般来说,两者相等,但是在进行code时,永远不要假定他们两者就是相等.
[解决办法]
32位平台cpu int 和 long都是32个字节
64位平台cpu,int 32 , long 64吧?
建议楼主测试一下,sizeof(int), sizeof(long)
[解决办法]
16位平台就不一样。
[解决办法]
  机器相关的内置类型,不同机器,不同编译器均有可能差异。

热点排行