- 第 118 篇 -
Date: 2025 - 08 - 01
Author: 郑龙浩(仟墨)
【C/C++】整数超过多少位时用「高精度」
文章目录
我一直有一个困惑,在做题的时候,多数情况只用 long long 或者 int 就可以
,当数值达到多少位数的时候我才使用高精度呢?为了让心中的困惑去掉,决定还是总结一下这个吧,不然怕在比赛的过程中因为这种小问题而选择了错误的方法。可能没啥用,但记录一下就当心里有个数了。
基本整数类型的存储限制
在算法竞赛中,常用的整数类型:
类型 | 位数 | 最大十进制位数 | 范围 |
---|---|---|---|
int |
32 | 10位 | ±2.1×10⁹ |
long long |
64 | 19位 | ±9.2×10¹⁸ |
注意:
long
在不同平台位数可能不同,竞赛中建议统一使用long long
默认使用long long
代替int
,方便,避免存不开的情况发生
何时需要高精度计算?
- 数值超过19位十进制数
- 中间计算结果可能溢出(如大数相乘)
- 题目明确要求处理极大数字