C学习:一文搞懂C语言常用数据类型范围及宏引用

C学习:一文搞懂C语言常用数据类型范围及宏引用

常见类型数值范围


char/signed char/int/long long 的整数范围整理如下表:

类型所占字节最小值最大值
char10127
unsigned char10255
signed char1-128127
unsigned short2065535(常用
short int2-3276832767(常用
unsigned int404294967295 (2^32 - 1)
int / signed int4-2147483648 (-2^312147483647 (2^31 - 1)
long int / long4-21474836482141483647
unsigned long long802^64 - 1
long long int8-92233720368547758089223372036854775807 (2^63 - 1

说明:一个Byte占8bit,unsigned int类型,则占32bit,可表示的最大正整数是2^32 - 1,因为含0,所以要减一。而signed int类型,由于最高位为符号位,故只有31位有效,可表示最大正整数为2^31 - 1,最小负数为-2^31

数据类型范围宏定义


所需头文件limits.h:

  • C: #include <limits.h>
  • C++: #include <climits>

C语言各个类型的最大值和最小值的宏定义如下,有了这个就再也不用记那么多范围啦,可直接引用最值范围对应的宏即可:

宏定义类型最值
CHAR_MAXchar127
CHAR_MINchar-128
SCHAR_MAXsigned char127
SCHAR_MINsigned char-128
UCHAR_MAXunsigned char255
SHRT_MAXshort32767
SHRT_MINshort-32768
USHRT_MAXunsigned short65535
INT_MAXint2147483647
INT_MINint-2147483648
UINT_MAXunsigned int4294967295U
UINT_MINunsigned int0
LONG_MAXlong9223372036854775807
LONG_MINlong-9223372036854775808
ULONG_MAXunsigned long18446744073709551615
FLT_MINfloat保留全部精度的正数最小值
FLT_MAXfloat正数最大值
FLT_MANT_DIGfloat尾数
FLT_DIGfloat最少有效数字位数
FLT_MIN_10_EXPfloat带有全部有效数的的负指数的最小值(以10为底)
FLT_MAX_10_EXPfloat正指数的最大值(以10为底)

参考资料


  1. C语言的整型溢出问题 int、long、long long取值范围 最大最小值
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值