C++原创应用类库和工具类库
此博文记载着自编C++应用类库和生成器库的源代码的链接地址,并且对库的开发环境、开发过程、缺陷以及改进更新进行说明。
分数类
利用中午的时间,自己在Visual Studio 2013环境下编写了一个C++分数类,使用的是标准库,可跨平台。分数类中提供了求最大公约数和最小公倍数的方法,为分数的算术运算打下基础,接着重载了算术运算符,支持分数的算术运算。之后增添了类型转换函数,将分数的算术运算范围扩展到整数和浮点数,且提供了分数类对象之间的比较方法。
为了方便测试分数类,提供了分数自动生成器,以及示例程序。经过断点调试,发现分数的乘法运算有时正确,有时错误。紧接着采用逐步调试,发现在long int类型的变量为负数的情况下,与unsigned int类型的变量进行乘法运算,结果的类型却是unsigned int。于是采用显式类型转换,在运算之前,将unsigned int类型的变量转换成long int类型,便得到了正确的答案。
在进行以上改进之后,分数类还存在着计算范围限制的缺陷,目前能够完美支持4位分数运算。由于C++标准类库未提供大数运算类,分数类下一步改进的难度较高。
分数类 Fraction-v1.0 github链接:https://github.com/xucongandxuchong/tools
注:此库纯属个人原创,转载请注明出处。