高精度算法
文章平均质量分 86
龙星尘
现在正在学硬件和软件编程,用的是C++和Arduino编程工具,以后会发一些关于编程的文章!请大家多多关照!
展开
-
C++高精度加,减,乘,除运算
高精度加法接下来,我们就可以正式开始高精度运算了,我们先从高精度加法算起,我们在小学二三年级的时候,做一些加法题都需要用到竖式计算,而这种竖式计算是无论多大的数都可以算出来的,所以我们可以借助模拟竖式计算的方法来进行高精度加法运算。定义存储数组。读入数据到数组中。注意是倒序存放,也就是个位放在数组下标为 0 的地方。从个位开始模拟竖式加法的过程,完成整个加法。删除前导 0。所谓前导零,就是出现类似这样数据 01234,这个 0 实际是不需要的。输出加法的结果。原创 2022-11-15 16:32:56 · 1617 阅读 · 3 评论 -
高精度除法
高精度除法计算原理在读小学时,我们做除法都采用竖式方法计算。被除数从高位开始,和除数对齐,逐位“试商”,“试商”后除数减去“试商”的数的乘积,如下图所示采用计算机做高精度除法时,模拟日常除法的步骤。但计算机不可能做“试商”,这时,我们可以采用减法来模拟。原创 2022-10-14 18:41:35 · 4514 阅读 · 2 评论 -
高精度乘法
我们就可以用 C++ 语言来模拟这个竖式减法的过程。我们可以考虑利用 C++ 的数组来存储对应数据,假设用数组 A 存储被减数 856 的每一位,具体来说就是 A1 存储个位 6,A2 存储十位 5,A3存储百位 8;类似数组 A 的结构,使用数组 B 存储减数 25;类似数组 A 的结构,使用数组 C 来存储对应的乘积 21400。两数相加的结果就如图 2 所示。这样理论上来说,我们就可以计算无限大的数据。如上图 2 所示,下表表示对应的存储方式。原创 2022-10-13 18:40:07 · 2140 阅读 · 2 评论 -
高精度减法
为什么需要高精度计算 对于 C++ 而言,最大的数据为 long long(64b,8位),对于超过 8B 的数据,C++ 没有对应的数据类型进行表示。所以我们需要知道高精度计算。更详细的解释,可以参考这个网页https://blog.csdn.net/justidle/article/details/104414459。高精度减法计算原理在读小学时,我们做减法都采用竖式方法,如图 1 所示。 这样,我们可以写出两个整数相减的算法。原创 2022-10-11 18:30:03 · 989 阅读 · 1 评论 -
高精度加法
在昨天,我在有道小图灵官网进行了两场考试,其中一场考试的最后一道题就时一道简单运算,就是要运用到高精度算法,而那时候我还没有学习高精度,于是就在今天,我在B站什么找了视频来听,把高精度乘法、除法、加法、减法都给学会了。...原创 2022-07-30 12:19:41 · 1606 阅读 · 1 评论