牛客网浮点加法大数运算系列
发布时间
阅读量:
阅读量

由于思路不够完善,感到有些遗憾/(ㄒoㄒ)/~~:
- 将数值的整数部分与小数部分分别进行存储,并对这两部分分别实施加法运算。
- 首先处理小数部分,因为该部分在运算过程中可能会出现进位现象。需要注意的是,小数部分的加法并非从最低位开始,而是以小数位数较少的那个数字的最低位为起点。例如,在
a1=0.567与a2=0.5678的运算中,应当从小数点后第三位开始进行相加。 - 将小数部分产生的进位值作为参数传递给整数部分,之后只需执行一次大数加法操作即可完成整体计算。
我通常将一个数值如1234以数组形式a[4]={4,3,2,1}存入vector中。这种存储方式便于在最高位发生进位时直接通过pushback操作进行扩展。
vec sum(vec v1, vec v2, ll mod = 0) {
if (v1.size() > v2.size())swap(v1, v2);
ll l1 = v1.size(), l2 = v2.size(), res = 0;
vec v(l2);
fo
全部评论 (0)
还没有任何评论哟~
