【基础】(C语言)高精度算法

您所在的位置:网站首页 感知器实现与运算C语言 【基础】(C语言)高精度算法

【基础】(C语言)高精度算法

2024-07-11 07:16| 来源: 网络整理| 查看: 265

文章目录 前言:为什么我们需要高精度算法?一、高精度算法基础二、高精度乘法1.计算流程2.完整代码 三、总结

前言:为什么我们需要高精度算法?

多数时候我们需要进行非常庞大的数字运算,其中涉及四则运算,加减乘除,但是当连最大的long long类型也容纳不下如此大的数字的时候,我们应该怎么办? 那么,我们就要用到今天所介绍的高精度算法,顾名思义,我们可以用一些特殊的方式来得出我们想要计算的答案。

一、高精度算法基础

在讲高精度算法之前,我们需要引入数组和字符串这两位我们在学习过程中的老朋友。 第一:我们知道,数组的优点是可以储存大量数字,并且每一位都是数的形式,运算时非常方便,但是数组在输入的时候必须要有分隔符,不符合数字的输入习惯。 第二:我们知道,字符串在输入的时候是连续的,不需要分隔符,非常符合数字的输入习惯,但是不能直接进行运算,非常不方便。 所以,我们可以就其两者取长补短,用数组来进行运算和储存数据,用字符串来输入数据!

二、高精度乘法 1.计算流程 通过字符串引入两串数字分别存放到两个字符数组将其每一位数字逆序分别存放到两个整型数组进行计算并处理进位(关键)将结果存放到第三个整型数组当中(引进动态数组)输出结果

第一:我们引进两串数字

char num1[102]; char num2[102]; scanf("%s", num1); scanf("%s", num2);

第二:将每一位数字逆序存放整型数组

int la,lb,lc; int a[2001]={0}; int b[2001]={0}; int c[2001]={0};//这是待会儿要存答案的数组 la=strlen(num1);//取第一个字符串的长度 lb=strlen(num2);//取第二个字符串的长度 for(int i=0;i


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3