数据类型
在 C 语言中,数据类型指的是用于声明不同类型的变量,变量的类型决定了变量存储占用的空间,不同类型占用存储空间不同并且所表示的数据范围不同
常用类型范围
数据溢出
在C语言中,数据溢出是指变量在进行计算或赋值操作时超出了其数据类型所能表示的范围,导致结果不正确或不可预料的行为
例如
高精度计算
在编程进行数值运算时,有时会遇到运算的表示范围的数值,这种情况下,就需要进行高精度运算。
高精度运算一般包括:高精度加法、高精度减法、高精度乘法、高精度除法。
高精度加法
P1601 A+B Problem
https://www.luogu.com.cn/problem/P1601
大致思路
1 通过数字模拟数字翻转按位相加
2 累加后数字大于9(有2位产生时),需要借助进位变量记录进位数
3 进位数参与下一位累加计算
高精度减法
P2142 高精度减法
https://www.luogu.com.cn/problem/P2142
大致思路
1 数据处理 保证大数-小数,如果不是需要加负号
2 按位相减 减后如果当前为数字小于0,需要向高位借1当10
3 结果位数计算 默认和大数位数相同,如果后面都是0 则不是结果的位数,需要找到第1个不是0的数字
高精度乘法
P1303 A*B Problem
https://www.luogu.com.cn/problem/P1303
大致思路
1 从个位开始,逐位相乘 ,本次相乘下标分别i,j 则 相乘结果保存下标i+j-1,可通过模拟2位相乘得出
2 逐位相乘时先不进位,此时结果数组中可能有2位数存在
3 相乘结束后,再逐位进位
4 2数相乘后的位数,最大是2数位数之和
5 从可能的最大位开始,计算结果的位数,如果高位是0,则此位不是结果的一个位,则进行减少位数
高精度除法-高精度除以单精度
P1480 A/B Problem
https://www.luogu.com.cn/problem/P1480
大致思路
1 从高位开始, 需要注意加上高位余数
2 当前位商保存ans 余数保留参与下一次除法运算
3 结果位数最大为被除数的位数 ,同时去除高位前导0
高精度除以单精度余数
大致思路
1 从高位开始, 需要注意加上高位余数
2 每次和除数b取余数 ,最后保留下来的就是要求的余数
领取专属 10元无门槛券
私享最新 技术干货