c++中的头文件中 包含了各数字类型的极限值,numeric_limits::max(),使用起来挺方便的。

#include <iostream>
#include <limits>

using namespace std;
template<typename T>
static void _PrintLimit(const char *desc, const T &num) {
	cout << desc << "=" << num << "\t";
}
#define PrintLimit(t) _PrintLimit(#t".min",numeric_limits<t>::min());_PrintLimit(#t".max",numeric_limits<t>::max());cout << endl
int main()
{
	PrintLimit(int32_t);
	PrintLimit(int64_t);
	PrintLimit(uint32_t);
	PrintLimit(uint64_t);
    system("pause");

	return 0;
}

输出结果如下
int32_t.min=-2147483648 int32_t.max=2147483647
int64_t.min=-9223372036854775808 int64_t.max=9223372036854775807
uint32_t.min=0 uint32_t.max=4294967295
uint64_t.min=0 uint64_t.max=18446744073709551615

Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐