- 1、本文档共8页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
IEEE舍入规则
IEEE的舍入规则
(2007-01-30 13:48:06)
HYPERLINK javascript:; 转载
?
汇报上来一个anoamly,说做四舍五入的时候22.5会近似成22但是23.5会近似成24QA觉得这是一个BUG,因为里面对同一个四舍五入采用了两套计算方式.第一反应就是可能四舍五入的算法是自己写的,因为老美再闲也不会去做这种挫事.研究了下发现凡是整数位是偶数的,小数位为0.5的都会被降下来round down,但是整数位为奇数的,小数位为0.5的都会升上去round up.当时就去检查c++写的源代码,发现匈牙利命名法果然害人,可追踪性明显不行,只能写report给鬼子说搞不定.第二天鬼子说这是by design的,根据IEEE规则的,然后就兴匆匆的去和Martin讲,心里想的是,总算这个PTR不关我事了.没想到聪明如老马,居然不晓得IEEE是啥,无语,石化3秒钟后解释未果,继续研究尝试去IEEE.org寻找标准答案,发现不是业内人士,没有account,办事受阻,许多资料都不给看.想申请个帐号还要交美元,罢了,就弄点中英文野鸡资料看看了.最后找到答案:目前采用的舍入规则遵循IEEE标准754的第4节,最贴近我们生活的就是那些Math.Round()函数,需要提供两个参数,一Double型的value,一Int型的精度范围在(0-15).此函数的返回值为精度等于digits的、最接近value的数字。如果value在两个数字中间,比如4.5就是在4和5,则返回最靠近的那个偶数,如果是-5.55则返回-5.6。此方法叫做就近舍入,又叫银行家舍入,从后面的那个别名大家应该能够猜得出点什么吧嘿嘿。欧洲所有的银行和几乎所有工厂均采用此方式.这种方式比较中和,简记起来就是4舍6入5取偶因为5之前有1,2,3,4后面有6,7,8,9,如果采用传统模式一味的进,容易使数字整体偏大.而采用就近取舍的话,因为数字前后遇到偶数的概率均等,可以使大量统计运算结果精度提高.微软的那套东西基本都默认采用了IEEE的标准,包括VB,C++,C#,J#还有个JS.但是JAVA似乎默认还是四舍五入的方式.下面还有几种IEEE的舍入标准: 上舍入,下舍入,舍入到零.上舍入顾名思义,就是始终向正无穷方向取舍.下舍入则始终向负无穷发祥取舍舍入到零则是向最靠近零的地方取舍下面是JAVA的舍入模式
UP
public static final HYPERLINK /Java_Docs/html/zh_CN/api/java/math/RoundingMode.html \o java.math 中的枚举 RoundingMode UP
远离零方向舍入的舍入模式。始终对非零舍弃部分前面的数字加 1。注意,此舍入模式始终不会减少计算值的绝对值。
示例:
输入数字
使用 UP 舍入模式将输入数字舍入为一位数
5.5
6
2.5
3
1.6
2
1.1
2
1.0
1
-1.0
-1
-1.1
-2
-1.6
-2
-2.5
-3
-5.5
-6
DOWN
public static final HYPERLINK /Java_Docs/html/zh_CN/api/java/math/RoundingMode.html \o java.math 中的枚举 RoundingMode DOWN
向零方向舍入的舍入模式。从不对舍弃部分前面的数字加 1(即截尾)。注意,此舍入模式始终不会增加计算值的绝对值。
示例:
输入数字
使用 DOWN 舍入模式将输入数字舍入为一位数
5.5
5
2.5
2
1.6
1
1.1
1
1.0
1
-1.0
-1
-1.1
-1
-1.6
-1
-2.5
-2
-5.5
-5
CEILING
public static final HYPERLINK /Java_Docs/html/zh_CN/api/java/math/RoundingMode.html \o java.math 中的枚举 RoundingMode CEILING
向正无限大方向舍入的舍入模式。如果结果为正,则舍入行为类似于 RoundingMode.UP;如果结果为负,则舍入行为类似于 RoundingMode.DOWN。注意,此舍入模式始终不会减少计算值。
示例:
输入数字
使用 CEILING 舍入模式将输入数字舍入为一位数
5.5
6
2.5
3
1.6
2
1.1
2
1.0
1
-1.0
-1
-1.1
-1
-1.6
-1
-2.5
-2
-5.5
-5
FLOOR
public static final HYPERLINK /Java_Docs/html/z
您可能关注的文档
- 2013年春全县生物复习备考会上发言稿.doc
- 2013年老河口市中考地理适应题【和答案.doc
- 2013年老河口市中考适应性考试数学试卷和答案(解析版).doc
- 2013年四川高考数学(理)试题(真题和答案)word版.doc
- 2013年数学高考总复习重点精品课件: 空间点、直线、平面之间位置关系 83张.ppt
- 2013年四川高考数学(理)试题(真题和答案)word版 2.doc
- 2013年苏州市中考数学模拟试卷和答案(word解析版).doc
- 2013广西公务员面试考前题型和解析9.doc
- 2013广东省湛江市中考数学试题和答案(Word解析版).doc
- 2013年温州市高三第一次适应性测试数学(理科)试卷和答案.doc
- 第十一章 电流和电路专题特训二 实物图与电路图的互画 教学设计 2024-2025学年鲁科版物理九年级上册.docx
- 人教版七年级上册信息技术6.3加工音频素材 教学设计.docx
- 5.1自然地理环境的整体性 说课教案 (1).docx
- 4.1 夯实法治基础 教学设计-2023-2024学年统编版九年级道德与法治上册.docx
- 3.1 光的色彩 颜色 电子教案 2023-2024学年苏科版为了八年级上学期.docx
- 小学体育与健康 四年级下册健康教育 教案.docx
- 2024-2025学年初中数学九年级下册北京课改版(2024)教学设计合集.docx
- 2024-2025学年初中科学七年级下册浙教版(2024)教学设计合集.docx
- 2024-2025学年小学信息技术(信息科技)六年级下册浙摄影版(2013)教学设计合集.docx
- 2024-2025学年小学美术二年级下册人美版(常锐伦、欧京海)教学设计合集.docx
文档评论(0)