首页 > 其他 > 详细

程序设计实训题目练习笔记-②

时间:2019-10-03 19:21:14      阅读:95      评论:0      收藏:0      [点我收藏+]

 高精度计算

本文部分内容参考  链接https://blog.csdn.net/fwq990720/article/details/79233889

重新写了八进制小数的题目,发现这个题,不仅仅是进制转换,更与我不太熟悉的高精度/大数计算有关系。

通过这个道题,总结了几个高精度/大数计算的要点:

     ①字符串操作

     ②每位操作时候,只进行个位(单一数字)计算

       ③考试实地写时,笔算过程,多测试,考虑多种边界情况。

在某大佬同学的建议下,我决定写完这道题后,手撸大数加减乘除的操作。

一、八进制小数

首先对于高精度/大数计算,用C++语言时候,double和int等都有精度限制,所以这里一般都选择用字符串形式操作,这里要注意的是,在处理字符串时,每次也只能一次处理一个字符的计算操作,否则由于字符串的变长,就会变成伪高精度计算,跟使用double、int没有区别了。(上文已提过)

技术分享图片

 

技术分享图片

本题用了简易的大数除法这个东西,本题除数为8(所以并不太复杂),基本上要主要的点就是

1)先判断被除数是整数还是浮点数,用string.find()

2)储存一整数  f  作为计算时的余数储存

3)最后如果出现   .1283 这样没有0开头的小数,补上开头的0

4)计算时候,注意除不尽补0的操作

技术分享图片

 

 本部分倒序遍历处理思想,也是我看了大佬的题解,才会的

技术分享图片

 

程序设计实训题目练习笔记-②

原文:https://www.cnblogs.com/Notherthing-hyc/p/11620057.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!