*大数存储及运算类
由于本人并不是什么专业人士,也不算什么高手,现在还在上高中,做这些时间不多,而且本人对标准库了解甚少,只知道一两个常用的标准库,(而且英文也不好..),所以设计程序的思路可能非常复杂,仅供参考。
大体思路:
-大数的存储使用字符串实现(类的私有成员)
-对数的操作比较严谨且比较多所以封装成类统一管理
-为了方便格式的统一及后续的计算,定义一个string::size_type类型的变量用于存储小数点的位置(这就是所谓的动点了吧)
-同上一点,定义一个bool类型的变量存储该数是否大于0(准确点说是有没有符号)的状态
-由于有状态变量需要实时更新,固定义一共有函数update()用于同步上述两变量的值
-构造函数暂时先设计三种(无参数,string,char(本来还有个double但发现本人对误差的处理没辙,所以整数也暂时没写))
-因字符串不一定符合数字的格式且对数的算数运算及其他处理需要统一格式,故定义一共有函数format()用于格式化字符(大部分情况类本身的操作都会保证数据是经过格式化后的)
-在算数运算和逻辑运算时会经常涉及到单个字符转数值和数值转单个字符的情况,所以我编写了两个内联函数(ASCII移位实现)