【原创】基于c++实现大整数计算

基于c语言开发的gmp库真垃圾,类命名和函数命名及其不规范,于是自己写了一个大整数计算类。比gmp简单。【原创】基于c++实现大整数计算插图【原创】基于c++实现大整数计算插图1【原创】基于c++实现大整数计算插图2
目前已经实现的功能:
根据bool char short int long std::string char* 类型初始化一个大整数变量。
实现大整数之间的比较> < == != =
实现大整数之间的加法(正整数,0,负整数)
实现计算大整数的长度
取出大整数某一位的值
比如 1234 integer.at(0) = 1000 integer.at(-1) = 4 integer.at(-2) = 30
取出大整数某一位的字面值
比如3341 integer.at(0) = 3 integer.at(-1) = 1 integer.at(-2) = 4
实现转换为基本数据类型和字符串。比如int a = (int)number; 但注意,如果integer当中存储的值超过int类型最大值,则会产生精度丢失,不论如何,不建议转换为有最大值和最小值的数据类型,尽量转换为std::string
还未实现的功能:
* / % | ^ % <> 公因数 最小公倍数 浮点数(以整数分子和整数分母形式的分数表示的小数,可以自由调整精度值,默认小数点后8位)

相比较于gmp的优势
1.类名,函数名,变量名规范,方便理解调用。
2.尽量重载所有运算符,与基本数据类型计算没有区别。
3.移除自增/自减对变量本身的操作(比如a++不会改变变量a本身的值,可以使用a = a++,尽量保证数据的安全性)
4.没有精度丢失


微信扫码关注公众号 更新内容早知道
© 版权声明
THE END
喜欢就支持一下吧
点赞239 分享
评论 抢沙发
头像
欢迎您留下宝贵的见解!
提交
头像

昵称

取消
昵称表情代码图片快捷回复

    暂无评论内容