C++ 什么';long和long的区别是什么
long和long有什么区别?而且它们都不能使用12位数字(600851475143),我忘了什么吗C++ 什么';long和long的区别是什么,c++,int,long-integer,C++,Int,Long Integer,long和long有什么区别?而且它们都不能使用12位数字(600851475143),我忘了什么吗 #include <iostream> using namespace std; int main(){ long long a = 600851475143; } #包括 使用名称空间std; int main(){ 长a=600851475143; } long在C++98/C++03中不存在,但在C99和C++0x中存在 long保证至少32位 代码>长long 保证至
#include <iostream>
using namespace std;
int main(){
long long a = 600851475143;
}
#包括
使用名称空间std;
int main(){
长a=600851475143;
}
long
在C++98/C++03中不存在,但在C99和C++0x中存在
long
保证至少32位
<>代码>长long <代码>保证至少64位。 您的C++编译器支持长long,保证在C99标准中至少64位(这是C标准,而不是C++标准)。查看VisualC++头文件,获取系统的范围。 推荐 对于新程序,建议只使用bool、char、int和double,直到出现需要其他类型之一的情况
按照标准,保证的是:
必须至少为16位int
必须至少为32位long
必须至少为64位long-long
是32位int
也是32位long
为64位long-long
是32位int
为32位或64位long
也是64位long-long
和int8\u t
uint8\u t
和int16\u t
uint16\u t
和int32\u t
uint32\u t
和int64\u t
uint64\u t
#include
(或
)感兴趣:
size\u t
ptrdiff\u t
#include <iostream>
using namespace std;
int main(){
long long a = 600851475143;
}
编译器查看文本值600851475143
,而不考虑要分配给/初始化它的变量。您已将其编写为键入的int
文本,它不适合int
使用
600851475143LL
获取键入的long
文本。使long a=600851475143LL代码>应该可以。你说“long是32位还是64位”是什么意思?它能改变它的位置吗?@Hikari-Iwasaki:这取决于目标。例如,如果您在Windows上编译,它可能是32位,而在Linux x86-64上,它可能是64位。类型不会在运行时更改大小。