当前位置: 首页 > news >正文

高精度减法的实现

         这是C++算法基础-基础算法专栏的第八篇文章,专栏详情请见此处


引入

        上次我们学习了高精度加法的实现,这次我们要学习高精度减法的实现。


        高精度减法与高精度加法的定义、前置过程都是大致相同的,如果想了解具体内容,可以移步至我的这篇博客:高精度加法计算的实现。

        在这里就不再详细讲解,只讲解主体过程qwq

主体过程

        高精度减法的原理和小学学习的竖式减法是一样的。

        概括来说,从个位开始,将被减数与减数相对应的每一位相减,存进差的对应位置上,若当前位未达到0借位,也就是将下一位减1,并把当前位加10

       123-89用高精度计算,先减个位,3-9-6,发现-6小于0,所以将-610,得4,将其存入答案的个位,将十位减1

        再减十位,-1+2-8-7,发现-7小于0,所以将-710,得3,将其存入答案的十位,将十位减1

        最后减百位,-1+1-00,发现0不小于0,所以直接将0存入答案的百位。得到答案034(在这里,你会发现答案数组有前导零,但输出函数可以处理这种情况)。

代码

        下面给出高精度减法的代码:

void sub(int a[],int b[],int c[]){
	clear(c);
	for(int i=0;i<L-1;++i){
		c[i]+=a[i]-b[i];
		if(c[i]<0){
			c[i+1]-=1;
			c[i]+=10;
		}
	}
}

上一篇-高精度加法的实现    C++算法基础专栏文章    下一篇-高精度乘法的实现


每周六更新一篇文章,内容一般是自己总结的经验或是在其他网站上整理的优质内容

点个赞,关注一下呗~

相关文章:

  • 嵌入式仪器模块:音频综测仪和自动化测试软件
  • 深入剖析人才管理的关键要素:“选、用、育、留”四大核心要素
  • Qt项目天气预报(2) - 重写事件函数
  • 还在用nginx,这款网关更强大
  • SQL 入门教程
  • Oracle备份失败处理,看这一篇就够了!
  • C++之explicit
  • Linux Centos 环境下搭建RocketMq集群(双主双从)
  • i18next国际化(react)
  • 鸿蒙用 BuilderParam 实现同一个布局不同内容组件
  • 值传递和址传递
  • C语言:头歌使用函数找出数组中的最大值
  • Spring框架的原理及应用详解(三)
  • 【计算机视觉】人脸算法之图像处理基础知识(五)
  • 178.二叉树:最大二叉树(力扣)
  • word空白页删除不了怎么办?
  • Linux C编译器从零开发一
  • JVM 根可达算法
  • C++ 20新特性之线程与jthread
  • Matlab的Simulink系统仿真(simulink调用m函数)
  • 10家A股农商行去年年报:瑞丰银行营收增速领跑,常熟银行等4家净利增速超11%
  • 申活观察|演出场次破纪录、入境游导游档期忙,上海文旅商“热力”拉满
  • 马斯克“星舰基地”成为新城镇,首任市长为SpaceX员工
  • 晋城一男子实名举报村支书打伤其67岁父亲,镇政府:案件正在侦办中
  • AI世界的年轻人|研究不止于实验室,更服务于遥远山区
  • 五一假期旅游大市党政领导靠前调度,重视解决游客反映的问题