C中确定整型的范围
发布日期:2021-07-13 02:57:19 浏览次数:2 分类:技术文章

本文共 513 字,大约阅读时间需要 1 分钟。

#include 
int main(){ printf("signed int min = %d\n", -(int)((unsigned int) ~0 >> 1)); printf("signed int max = %d\n", (int)((unsigned int) ~0 >> 1));}

(1)先把数字0的各个二进制位全部转换成1

~0

(2)将结果值转换成unsigned int类型

(unsigned int) ~0

(3)把上面的值右移一位以清除符号位

(unsigned int) ~0 >> 1

(4)最后把它转换成int类型

(int)(unsigned int) ~0 >> 1

法二调用头文件<limits.h>其中有各种类型的取值范围.

如:

#include 
#include
int main(){ printf("signed int min = %d\n", INT_MIN); printf("signed int max = %d\n", INT_MAX);}

转载地址:https://blog.csdn.net/buaa_shang/article/details/8170224 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:一个将十六进制转换成十进制的小例子
下一篇:C中访问文件的基本操作

发表评论

最新留言

做的很好,不错不错
[***.243.131.199]2024年04月14日 23时43分11秒