2015-04-25 131 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中的新增功能。很高興知道。 –