是否有一个C++跨平台库为我提供了一个可移植的最大整数?
我想宣布:
const int MAX_NUM = /* call some library here */;
Run Code Online (Sandbox Code Playgroud)
我使用MSVC 2008非托管.
可能重复:
如何将变量设置为C中可能的最大数量?
int的最大值
我需要在我的代码中使用最大整数值,但我不想显式写4294967295.它是在某处定义的吗?
是否有一种简单,干净的方法可以在编译时确定某些变量(此时是未知的)整数变量或类型的最大值和最小值?使用模板?
例如:
// Somewhere in a large project is:
typedef unsigned long XType;
typedef char YType;
// ...
// Somewhere else
XType a;
YType b;
LONGLONG c,d,e,f;
c = MinOfType(a); // Same as c = 0;
d = MaxOfType(a); // Same as d = 0xffffffff;
e = MinOfType(b); // Same as e = -128;
f = MaxOfType(b); // Same as f = 127;
// Also would be nice
e = MinOfType(YType); // Same as e = -128; // Using the …
Run Code Online (Sandbox Code Playgroud) 所以我只是练习编码斐波那契序列的动态解决方案,它将返回第n个斐波纳契数,我不断遇到一个我无法弄清楚的问题.我得到两个正数加上负数!
码:
int fib(int n) {
vector<int> v;
v.push_back(1);
v.push_back(1);
for (int i = 2; i <= n; i++) {
v.push_back( v.at(i-1) + v.at(i-2) );
cout << v.at(i-1) << " + " << v.at(i-2) << " = " << (v.at(i-1) + v.at(i-2)) << endl;
}
return v.at(n);
}
Run Code Online (Sandbox Code Playgroud)
尝试运行fib(50),注意cout只是用于调试
C或C++中是否有任何宏表示int32_t和int64_t的最大值和最小值?我知道它可以由字面上自己定义,但如果有一个标准的宏,它会更好.请注意我不会询问最大的int,long等.但intXX_t