此博文记载着自编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

注:此库纯属个人原创,转载请注明出处。

C++原创应用类库和工具类库的更多相关文章

  1. [原创][开源]SunnyUI.Net, C# .Net WinForm开源控件库、工具类库、扩展类库、多页面开发框架

    SunnyUI.Net, 基于 C# .Net WinForm 开源控件库.工具类库.扩展类库.多页面开发框架 Blog: https://www.cnblogs.com/yhuse Gitee: h ...

  2. 编写更少量的代码:使用apache commons工具类库

    Commons-configuration   Commons-FileUpload   Commons DbUtils   Commons BeanUtils  Commons CLI  Commo ...

  3. 尝试造了个工具类库,名为 Diana

    项目地址: diana 文档地址: http://muyunyun.cn/diana/ 造轮子的意义 为啥已经有如此多的前端工具类库还要自己造轮子呢?个人认为有以下几个观点吧: 定制性强,能根据自己的 ...

  4. OS X第三方类库管理工具cocoapods入门

    一.简介 什么是cocoapods?--是OS X和iOS下一个第三方类库管理工具.通过cocoapods,可以为项目添加"Pods"依赖库,并且管理其版本. cocoapods好 ...

  5. Flutter 常用工具类库common_utils

    地址:https://pub.flutter-io.cn/packages/common_utils#-readme-tab- Dart常用工具类库 common_utils 1.TimelineUt ...

  6. Microjs: 超棒的迷你框架和迷你类库搜罗工具

    你可以按条件方便的搜索需要的类库或者框架,以下为条件 基础框架 模板引擎 DOM操作 CSS动画 Javascript动画 数据操作 更多 阅读原文:Microjs: 超棒的迷你框架和迷你类库搜罗工具

  7. Android开发免费类库和工具集合

    用于Android开发的免费类库和工具集合,按目录分类. Action Bars ActionBarSherlock Extended ActionBar FadingActionBar GlassA ...

  8. JSON工具类库: alibaba/fastjson 使用记录

    JSON工具类库: alibaba/fastjson 使用记录 一.了解JSON JSON标准规范中文文档: http://www.json.org/json-zh.html 最佳实践:http:// ...

  9. Java_图片处理_02_图片处理工具类库

    二.参考文档 1.Java图片处理工具类库

随机推荐

  1. Unity3D之游戏架构脚本该如何来写

    这篇文章主要想大家说明一下我在Unity3D游戏开发中是如何写游戏脚本的,对于Unity3D这套游戏引擎来说入门极快,可是要想做好却非常的难.这篇文章的目的是让哪些已经上手Unity3D游戏引擎的朋友 ...

  2. Unity3D笔记十四 力

    Unity中力的方式有两种:第一种为普通力,需要设定力的方向与大小:第二种为目标位置力,需要设定目标点的位置,该物体将朝向这个目标位置施加力. 1.案例 添加两个球体和一个立方体,另外还要给两个球体添 ...

  3. lombok 一个不错的小工具

    (1)官方文档  Lombok features (2)Lombok Reduces Your Boilerplate Code (3)Lombok-Java代码自动生成 开发利器

  4. python添加Windows环境变量

    1.cmd中添加方式 SET PATH=%PATH%;c:\Program Files (x86)\Wireshark 注:如上代码添加c:\Program Files (x86)\Wireshark ...

  5. [ZT] 医学图像分析相关的会议

    原文地址:http://blog.sina.com.cn/s/blog_ad7c19000102v42d.html 一. 图形学.可视化领域的会议: (一)高级别会议 1. Siggraph  (图形 ...

  6. hdu 6395Sequence【矩阵快速幂】【分块】

    Sequence Time Limit: 4000/2000 MS (Java/Others)    Memory Limit: 262144/262144 K (Java/Others) Total ...

  7. MapRedece(多表关联)

    多表关联: 准备数据 ******************************************** 工厂表: Factory Addressed BeijingRedStar 1 Shen ...

  8. ubuntu常用技巧积累

    1.修改root密码,一般与用户密码不同 python@ubuntu:~$ sudo passwd[sudo] password for python: 输入新的 UNIX 密码: 重新输入新的 UN ...

  9. gevent 真正的协程

    import gevent #第一次使用需要cmd窗口敲入 pip install Gevent from gevent import monkey:monkey.patch_all import t ...

  10. matplotlib的下载和安装方法

    官网:http://matplotlib.org/ Installation节 Visit the Matplotlib installation instructions. Installing节 ...