C语言计算char/short/int的最大值和最小值
假设我们不知道目标平台的char、short、int长度是多少个字节,如何得到这个类型的最大值和最小值?
简单思考过后,我觉得可以采用无符号的最大值再右移1位的方式来得到有符号整数的最大值,把这个值取反又能得到最小值。
使用下面的C语言代码进行验证,发现打印值是正确的。
把代码中的 int 换成 char 和 short 都能正常打印出最大值和最小值。
void main(void)
{unsigned int tmp;int max_val;int min_val;tmp = 0 - 1;tmp = tmp >> 1;max_val = tmp;min_val = ~tmp;printf("min=%d, max=%d\n", min_val, max_val);system("pause");
}
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
