什么将持有类似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. WINOLEAPI的C#数据类型是什么?
- 5. 我将使用什么样的applescript数据类型?
- 6. 为什么.NET将简单类型(int,..)保存在堆栈中?
- 7. 什么类型的数据库可以保存MP3文件
- 8. 什么类型可以保存C++中差异类的成员函数指针?
- 9. 什么类型的数据可以类类型存储?
- 10. 为什么这个类型参数保存在字节码中?
- 11. 将OpenId字段保存到数据库 - 它们的类型/长度是什么?
- 12. Python数据类型,它是什么样的数据结构?
- 13. 在C中存储数据类型
- 14. 什么是C++中的复杂数据类型和虚数据类型?
- 15. 将Tuple保存为Python中的Sqlite3中的blob数据类型
- 16. 为什么我的* scratch * buffer将数据保存在aquamacs emacs中?
- 17. 什么是在MySQL中存储布尔值的数据类型?
- 18. 在RDBM中存储多媒体的数据类型是什么?
- 19. 将数据保存在模型类或Firebase列表中
- 20. 如何将DateTime类型保存在Firebase数据库中?
- 21. 我应该使用C#保存图像的类型是什么?
- 22. 使用C#中的类将数据保存到SQL DB中
- 23. 将数据存储在objective-c模型中的最佳方法是什么?
- 24. 什么类型的数据库将用于在网站和游戏服务器之间保存数据?
- 25. 笨 - 将数据保存在模型
- 26. 如何在Java中存储矢量?什么是数据类型?
- 27. 在Java中是否存在这样的数据类型?
- 28. 什么数据将被存储在堆栈中在C#
- 29. 什么数据可以存储在SQL Server中的varbinary数据类型?
- 30. 将数据保存到文件中C++
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