当前位置: 首页 > 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函数)
  • 东莞数据线厂家东莞网站建设/百度收录教程
  • 有哪些网站可以做外贸/免费的网站推广软件下载
  • 在哪个网站可以做java面试题/找公司做网站多少钱
  • 国外域名怎么购买/网络网站推广优化
  • 开发手机端网站模板下载/seo的工作流程
  • 凡科做网站在百度能看见吗/网站制作步骤流程图