当前位置:  开发笔记 > 编程语言 > 正文

你在C++中用什么来定点表示?

如何解决《你在C++中用什么来定点表示?》经验,为你挑选了3个好方法。

我正在寻找用于财务数据的定点标准,你知道任何值得尝试的吗?您对手工制作的定点课程的表现有什么经验吗?



1> Nicola Bonel..:

Dr.Dobb有一篇关于在C++中可能实现定点算术类型的文章.看看这个.



2> Caerbanog..:

哎哟.财务系统很棘手,你的主要问题不是定点数学,问题是舍入误差.

您可以拥有一个完整的电子表格,其中包含客户类型和增值税折扣的简单计算.你做了一个总计,你把它呈现给会计师,他说价值观都是错的.原因:输出可能只有2个小数位,但在内部,该值包含float或double的所有小数位.他们确实加起来了.

您需要了解您的财务状况并确定基准值的位置.意味着会计师将检查哪些价值(是的,它需要商业知识,有"棘手"部分).

在将值保存到持久表单(数据库,文件,内存...)之前,您将截断乘法和除法可能添加的额外小数位.

N个小数位的快速和脏解:((double)((int)(Value*N*10.0)))/ 10.0

当然,您需要确切地检查您的财务需要哪种舍入方式.



3> Evan Teran..:

我用我的定点数学课.它被设计成或多或少地替代浮子/双打.http://codef00.com/coding

编辑:作为旁注,我个人不会为此目的使用固定点类.我只需存储分数(或十分之一,或百分之一分).A直接用它来做数学.然后我会在向用户显示时适当地缩放值.


你怀疑班级可以增加什么开销?为什么你认为宏可以更快?
推荐阅读
殉情放开那只小兔子
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有