由于C ++中有min()和max()函数,C中的等价物是什么来查找未知类型的范围?
如果未知(例如" ctype")其中没有关于实现的信息,那么如何获得此数字的MIN和MAX?
答案 0 :(得分:3)
如果它是unsigned
算术类型,您可以执行(ctype)-1
,保证评估为ctype
可以容纳的最大值(以及最小值{当然是0
)。
否则,如果不能对类型或实施做出任何假设,那么您无法确定。
答案 1 :(得分:2)
一种简单的方法是使用sizeof
来获取字节大小,乘以8得到位数,然后从中工作。虽然这在签名和未签名之间没有区别。
但是我建议您搜索程序使用的头文件,以找出真正的类型。