2015-04-25 85 views
0

有没有在C++中增加对整数限制的方法?我想用一个13位数的号码4823423658586。编译器不允许这样做。C++增加int大小限制

+1

您是否尝试过使用'长long'?编译器不允许什么? –

+1

Reag例如[这是C++提供的基本类型的参考](http://en.cppreference.com/w/cpp/language/types)。 –

+1

您可以使用标准类型['std :: numeric_limits :: max()']来检查您可以表示的最大数量是多少(http://en.cppreference.com/w/cpp/types/numeric_limits) –

回答

2

由于最大的13位整数可以使用6个字节进行存储,因此需要一个至少存储6个字节的类型,该类型是一个长度可以容纳8个字节的类型。

所以不是

int x=100; 

使用

long long x=100; 
+1

或更好的是,'int_fast64_t x = 100;'。我认为C++标准中没有指定long long,如果是,它可能不能保证是64位。 –

+0

@AndrewHenle确实保证了64位:http://en.cppreference.com/w/cpp/language/types – alcedine

+0

Aaah,它似乎是C++ 11中的新增功能。很高兴知道。 –