什麼將持有類似3000000^2沒有溢出?什麼樣的數據類型將在C++中保存3000000^2?
回答
3000000^2是小於2^48,所以從cstdint
或stdint.h
一個uint64_t
將持有你的電話號碼具有良好的裕量。
由於某些原因,當我嘗試這些數據類型時,它不會輸出正確的數字。 – WhatsInAName 2012-04-07 07:20:13
@WhatsInAName:請用一些代碼來更新您的問題,這些代碼演示您正在嘗試解決的問題。 – Johnsyweb 2012-04-07 07:21:51
'^'是按位異或運算符。 C++沒有指數運算符 – 2012-04-07 07:29:23
64位整數:
long long int
您可以用std::numeric_limits
查詢。在C + + 11,long long
是至少64個比特的標準整數,因此,例如,unsigned long long
具有以下限制:
#include <iostream>
#include <limits>
int main() {
std::cout << "sizeof : " << sizeof(unsigned long long) << "\n";
std::cout << "min : "<< std::numeric_limits<unsigned long long>::min() << "\n";
std::cout << "max : "<< std::numeric_limits<unsigned long long>::max() << "\n\n";
}
產生我的平臺上:
sizeof : 8
min : 0
max : 18446744073709551615
C++提供各種整數類型,但據我所知,64位類型不是標準的pre-C++ 11所要求的。 I long long
是唯一的標準整數,至少爲64位,所以你需要一個支持C++ 11的編譯器。但可能是你的編譯器支持其他一些非標準的64位類型。
我得到以下消息:整型常量對於「long」類型來說太大(當我嘗試unsigned long long來存儲我的號碼時) – WhatsInAName 2012-04-07 07:24:31
問題可能是在C++ 11之前沒有「標準」64位int,也許你的編譯器不支持C++ 11?你使用什麼編譯器? – juanchopanza 2012-04-07 07:31:15
- 1. 什麼樣的數據類型用於保存數據庫中的圖像
- 2. 數據類型`Location`存儲什麼樣的數據?
- 3. 什麼類型的數據用於在mysql中保存數據時間
- 4. 在C#中的列表中保存不同類型的數據#
- 5. 在mysql中保存數組數組的最佳數據類型是什麼?
- 6. 將數據保存在C#
- 7. WINOLEAPI的C#數據類型是什麼?
- 8. 我將使用什麼樣的applescript數據類型?
- 9. 爲什麼.NET將簡單類型(int,..)保存在堆棧中?
- 10. 什麼類型的數據庫可以保存MP3文件
- 11. 什麼類型可以保存C++中差異類的成員函數指針?
- 12. 數據類型保存表
- 13. 什麼類型的數據可以類類型存儲?
- 14. 爲什麼這個類型參數保存在字節碼中?
- 15. Python數據類型,它是什麼樣的數據結構?
- 16. 將OpenId字段保存到數據庫 - 它們的類型/長度是什麼?
- 17. 在C中存儲數據類型
- 18. 什麼是C++中的複雜數據類型和虛數據類型?
- 19. 將Tuple保存爲Python中的Sqlite3中的blob數據類型
- 20. 爲什麼我的* scratch * buffer將數據保存在aquamacs emacs中?
- 21. C++中的布爾型數據類型是什麼
- 22. 在RDBM中存儲多媒體的數據類型是什麼?
- 23. 什麼是在MySQL中存儲布爾值的數據類型?
- 24. 將數據保存在模型類或Firebase列表中
- 25. 如何將DateTime類型保存在Firebase數據庫中?
- 26. 用於在MySQL中保存GPS數據的數據類型
- 27. 我應該使用C#保存圖像的類型是什麼?
- 28. 如何確保數據類型與C++所需的一樣大
- 29. 什麼樣的數據類型應該選擇在asp c#中存儲歌曲的URL和名稱?
- 30. 什麼是相應的C++數據類型爲SQL數字(18,0)數據類型?
64位整數。 'unsigned long long'會保存它。 – Mysticial 2012-04-07 07:10:52
所以將一個'std :: string'。 – Johnsyweb 2012-04-07 07:13:03
我在這裏問了一個[相關問題](http://stackoverflow.com/questions/10053113/is-c11s-long-long-really-at-least-64-bits)。基本上,在C++(11)長期持有這種數字是唯一便攜的方式。 – juanchopanza 2012-04-07 10:29:06