int、long int 和 long long int 的取值范围

本文详细介绍了C语言中int、longint、longlongint等整型变量的取值范围,包括有符号和无符号类型,以及如何通过limits.h库文件获取这些范围。对于进行大量整数运算的程序员来说,了解这些范围可以避免结果溢出,确保程序的正确运行。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

int、long int 和 long long int 的取值范围

我们在做整型数字运算时,经常会遇到由于数字值极大导致的结果溢出,导致我们得到错误的结果,大多数情况下将变量定义为 long long int 即可。

为了便于理解,我们需要知道int、long int、long long int各自能够表示什么范围:

  1. int -2147483648~2147483647
  2. long int -2147483648~2147483647
  3. long long int -9223372036854775808~9223372036854775807

那么我们就明白了,相应的无符号类型的各自表示范围为:

  1. unsigned int 0~4294967295
  2. unsigned long int 0~4294967295
  3. unsigned long long int 0~18446744073709551615

同理,

  1. __int64 -9223372036854775808~9223372036854775807
  2. unsigned __int64 0~18446744073709551615

其实在C语言的 limits.h 库文件中已经包含了对应类型的极大和极小的整数值,直接调用就可以读取,例如:
#include<stdio.h>
#include <limits.h>

int intmax = INT_MAX;
int intmin = INT_MIN;
long long int longlongmax = LLONG_MAX;
long long int longlongmin = LLONG_MIN;

int main()
{
printf(“intmax = %d\nintmin = %d\nlonglongmax = %lld\nlonglongmin = %lld\n”, intmax, intmin, longlongmax, longlongmin);
return 0;
}
调试

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值