常量太大的C ++

时间:2015-12-21 23:54:00

标签: c++ constants

我正在与一个为我正在制作的游戏制作的src合作。这个人最近已经离开了,我正在尝试拾取这些碎片,我真的不知道c ++,但我希望得到一些来自我试图编译的特定文件的编译问题的帮助。有没有办法可以扩展const的极限,或者使用不同的类型来保持更大的值?

1 个答案:

答案 0 :(得分:1)

您的实现的基本类型的数字限制在<limits>标头中定义,特征类std::numeric_limits提供您的计算机的值。这就结束了,你不能打败&#34;基本类型的限制。示例(来自cppreference.com):

#include <limits>
#include <iostream>

int main() 
{
    std::cout << "type\tlowest\thighest\n";
    std::cout << "int\t"
              << std::numeric_limits<int>::lowest() << '\t'
              << std::numeric_limits<int>::max() << '\n';
    std::cout << "float\t"
              << std::numeric_limits<float>::lowest() << '\t'
              << std::numeric_limits<float>::max() << '\n';
    std::cout << "double\t"
              << std::numeric_limits<double>::lowest() << '\t'
              << std::numeric_limits<double>::max() << '\n';
}

Live on Coliru

如果您想要更多,甚至任意精度/长度数字,那么您需要使用多精度库,例如: Boost.Multiprecision