如何计算未知int类型的范围?

时间:2014-07-22 11:00:58

标签: c

由于C ++中有min()和max()函数,C中的等价物是什么来查找未知类型的范围?

如果未知(例如" ctype")其中没有关于实现的信息,那么如何获得此数字的MIN和MAX?

2 个答案:

答案 0 :(得分:3)

如果它是unsigned算术类型,您可以执行(ctype)-1,保证评估为ctype可以容纳的最大值(以及最小值{当然是0)。

否则,如果不能对类型或实施做出任何假设,那么您无法确定。

答案 1 :(得分:2)

一种简单的方法是使用sizeof来获取字节大小,乘以8得到位数,然后从中工作。虽然这在签名和未签名之间没有区别。

但是我建议您搜索程序使用的头文件,以找出真正的类型。