真正的计算器 高精度计算单独篇

2025-01-045943
AI 快速预览详细 收起
这篇文章介绍了一个高精度计算器,它可以实现高精度的加减运算,并直接输出十进制数。通过模拟手算的方法,解决了系统计算器输出科学记数法的问题。文章详细介绍了如何处理小数点不精准和最高位有0的bug,并提供了相应的代码实现。
前言:
这个帖子满满干货,不在评论区吱一声还好意思那文件?()这次带来的高精度可不是一般的。系统的计算机输出的是科学寄数法,但同样的算式我做的高精度可以直接输出十进制的数。(这次和之前的不一样,不需要手动转换)
上才艺:
真正的计算器  高精度计算单独篇图1
真正的计算器  高精度计算单独篇图2
这里面的那个小数点不精准的bug貌似只有这个算式会出现。
真正的计算器  高精度计算单独篇图3
最后一个最高位有0的bug正式版(我发的版本)修复了。除法还没做。打算除法既输出小数(循环小数也可以输出!),又可以输出对应的分数。所以鼓励一下把。
加减:
这个办法是我在进行排除废料()的时候想到的。首先,这是2个变量,表示了2个数字。
真正的计算器  高精度计算单独篇图4
我们把他们数位统一。先看整数部分。14和11450。那么我们知道,数字前面加上0,大小不变。我们就加上:
真正的计算器  高精度计算单独篇图5
然后是小数部分。我们也知道,小数末尾加上0大小也不变,所以我们加上:
真正的计算器  高精度计算单独篇图6
然后如果我们是算加法,就把两个列表的每一项相加,放入一边,减法就是相减。
加:
真正的计算器  高精度计算单独篇图7
sum列表就是结果啦。这里的比较特殊,直接就是结果。来看看不一样的:
真正的计算器  高精度计算单独篇图8
那么我们就要进位!!
真正的计算器  高精度计算单独篇图9
这就正常了。所以你们发现了吗,其实高精度计算是按照我们手算的办法来计算的,乘法如此,加减如此。这就是编程里的模拟法(扯远了)
这个也很特殊:
真正的计算器  高精度计算单独篇图10
真正的计算器  高精度计算单独篇图11
我们需要把多余的0去掉才是平常看到的结果。至此,加法ok了。
减:
真正的计算器  高精度计算单独篇图12
(n1-n2  还有一项是-4.忘写了)look,这里有负数,我们需要退位。
真正的计算器  高精度计算单独篇图13
这就好了。如果开头或结尾有0就去掉。至此,完毕!
代码:
真正的计算器  高精度计算单独篇图14
进位
真正的计算器  高精度计算单独篇图15
退位
真正的计算器  高精度计算单独篇图16
主体1/5
真正的计算器  高精度计算单独篇图17
主体2/5
真正的计算器  高精度计算单独篇图19
主体3/5
真正的计算器  高精度计算单独篇图18
主体4/5
真正的计算器  高精度计算单独篇图20
主体5/5
附件:
下载附件计算器.zip

评分

参与人数 3贡献 +5 经验值 +5 创造力 +11 收起 理由
高精度计算 · 真正的计算器_image_1.webp wKv37UIT47zJ0 + 5 + 5 + 5
高精度计算 · 真正的计算器_image_2.webp dingding960 + 5 GOOD
高精度计算 · 真正的计算器_image_3.webp 凉皮周 + 1

查看全部评分

创作许可协议

本项目采用 None(不开放任何权利,保留所有权利) 进行许可。

评论(5)
宝之皮鼠
宝之皮鼠
这是为什么?
宝之皮鼠
宝之皮鼠
厉害。背景怎么搞成黑色?
起风
起风
可以可以
Lyper
Lyper
乌龟也是装上了好吧
)))巨佬巨佬,我想要乘法也有分数~~~
)))太强辣,巨佬能教教我嘛~~~
)))巨佬我有刚签到拿的1创造力,教教我~~~
wdylyh
wdylyh
作者
回复Lyper
e,分数在做了
wdylyh
wdylyh
作者
啊啊啊,球球大家了,就算是在评论区刷个垃圾或者666都行啊,别不吭声
jzy
jzy回复wdylyh
我们老师把这个当上课的内容做(让我们做个简易版的),我当时的心情:啊???????
dingding960
dingding960回复wdylyh
圾圾
hhhhhh
999
- 没有更多了 -