Hik*_*aki 24 c++ int long-integer
长长和长长有什么区别?他们都不能使用12位数字(600851475143),我忘记了什么吗?
#include <iostream>
using namespace std;
int main(){
long long a = 600851475143;
}
Run Code Online (Sandbox Code Playgroud)
Joe*_*ams 47
在主要的32位平台上:
int 是32位long 也是32位long long 是64位在主要的64位平台上:
int 是32位long 是32位还是64位long long 也是64位遵循标准:
int 必须至少为16位long 必须至少为32位long long 必须至少为64位如我错了请纠正我.
如果您需要特定应用程序的特定整数大小,而不是信任编译器选择您想要的大小#include <stdint.h>(或<cstdint>),那么您可以使用以下类型:
int8_t 和 uint8_tint16_t 和 uint16_tint32_t 和 uint32_tint64_t 和 uint64_t您可能也对#include <stddef.h>(或<cstddef>)感兴趣:
size_tptrdiff_t详细说明@ildjarn的评论:
而且它们都不能使用 12 位数字(600851475143),我是不是忘记了什么?
编译器查看文字值600851475143 ,而不考虑您为其分配/初始化的变量。您已将其编写为int类型文字,但它不适合int.
用于600851475143LL获取long long键入的文字。