基于c语言开发的gmp库真垃圾,类命名和函数命名及其不规范,于是自己写了一个大整数计算类。比gmp简单。
目前已经实现的功能:
根据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.没有精度丢失

1 本站一切资源不代表本站立场,并不代表本站赞同其观点和对其真实性负责。
2 本站一律禁止以任何方式发布或转载任何违法的相关信息,访客发现请向站长举报
3 本站资源大多存储在云盘,如发现链接失效,请联系我们我们会第一时间更新。
暂无评论内容