`
cunzhangok
  • 浏览: 66316 次
  • 性别: Icon_minigender_1
  • 来自: 江苏
社区版块
存档分类
最新评论

浮点数的计算注意点

 
阅读更多
System.out.println(2.1-1.2);
System.out.println(2.1-0.1);
System.out.println(2.1f-1.2f);
System.out.println((new BigDecimal("4.0")).subtract(new BigDecimal("3.1")).doubleValue());  


result:
0.9000000000000001
2.0
0.89999986
0.9

总结:当差额大于1时,计算的结果就是你希望得到的,当差额小于1时,由于浮点结算的原因(double、float精确度不一样的)建议采用BigDecimal来计算。
分享到:
评论

相关推荐

    Delphi GMP任意精度整数、有理数、浮点数计算库

    Delphi GMP库是一个强大的计算工具,专为在Delphi编程环境中处理任意精度整数、有理数和浮点数而设计。这个库基于GNU Multiple Precision Arithmetic Library (GMP),一个广泛使用的开源库,用于执行高精度计算。GMP...

    算法-计算浮点数相除的余(信息学奥赛一本通-T1029)(包含源程序).rar

    计算两个浮点数相除的余数时,我们需要考虑以下几点: 1. **浮点数的精度**:浮点数的精度有限,可能导致除法的结果不精确。例如,当两个非常接近的浮点数相除时,结果可能会是0,但实际上可能存在非零的小数部分。...

    定点数浮点数计算 加减乘除

    定点数和浮点数之间的转换也是重要的知识点。定点数转换为浮点数时,需要考虑数值的符号、大小和精度,反之亦然。这个过程中可能会引入误差,尤其是在将浮点数转换为定点数时,由于定点数的位宽限制,可能导致精度...

    IEEE754 浮点数 小工具

    在使用该工具之前,建议先阅读`Readme.txt`和`BeforeUsing.txt`文件,了解工具的具体操作和注意事项。如果需要源代码,可以通过描述中的联系方式与作者取得联系,以便更深入地理解和定制工具。 总的来说,IEEE754...

    威纶通_宏指令_浮点数加减乘除开方计算机

    4. **浮点数除法**:除法需要用到`/`操作符,但需要注意的是,如果除数为零,会引发错误。因此,在执行除法前,应确保除数不为零: ``` If FVar2 <> 0 Then FResult = FVar1 / FVar2; Else '处理除数为零的情况...

    浅谈c# 浮点数计算

    在C#编程语言中,浮点数计算是一个常见的任务,但同时也存在一些潜在的问题,主要源于计算机对浮点数的内部表示和计算精度的限制。本文将深入探讨这些问题,并提供解决方案。 首先,让我们理解为什么在C#中0.1 + ...

    浮点数与二进制转换工具

    浮点数与二进制转换在计算机科学中是至关重要的概念,特别是在通信开发、数据存储和计算领域。本文将深入探讨浮点数和二进制之间的转换,以及如何利用工具进行这种转换。 浮点数是一种表示实数的方式,它允许在有限...

    浮点数开方.rar

    综上所述,浮点数开方涉及到计算机中的数值计算、浮点数表示、数值稳定性和算法设计等多个方面,是理解和优化计算性能的关键点。通过深入学习这些知识点,开发者可以更好地理解和解决与浮点数开方相关的问题。

    浮点数与4字节数值相互转换工具

    需要注意的是,不同的计算机架构可能有不同的字节顺序(比如大端序和小端序),这会影响浮点数如何在内存中存储和解析。因此,在进行跨平台数据交换时,需要考虑字节序问题,确保正确解读4字节数值。 总的来说,...

    4.15实验-浮点数的表示及运算

    此外,浮点数比较也不总是准确的,因为两个看似相等的浮点数在二进制下可能有所不同,因此比较时需注意精度问题。 四、浮点数运算的性能优化 在实际应用中,理解和优化浮点数运算的性能至关重要。处理器通常具有...

    S7-200SMART_双精度浮点数转换为单精度浮点数库文件及使用说明.rar

    注意,库文件可能有特定的输入输出格式要求,例如,可能需要将双精度浮点数以字节数组的形式传递。 6. **编程实践**: 在实践中,可能需要考虑错误处理,比如当输入的双精度浮点数超出单精度浮点数的表示范围时,...

    64位浮点数与32位整数或32位浮点数之间的相互转换(V17版本仅限1500系列PLC使用).zip

    64位浮点数,也称为双精度浮点数,按照IEEE 754标准,它能够提供高精度的数值计算,适用于需要精确计算的场合,如科学计算、财务分析等。这种数据类型由32位指数部分、11位尾数部分和1位符号位组成,可以表示从大约-...

    float_2_char.zip_C51 float转char_单片机 浮点数_浮点数 char_浮点数 转换_浮点数转换

    在单片机中进行浮点数和字符型转换时,要特别注意以下几点: - 存储限制:确保有足够的内存空间来存储中间结果和转换后的数据。 - 精度损失:浮点数转`char`会丢失一部分精度,可能需要对转换结果进行检查和校验。...

    浮点数在计算机中存储方式.pdf

    根据IEEE 754单精度浮点数标准,8.5的存储方式是将这个数值转换为科学计数法的形式,即1.0001×2^3,那么指数部分存储为3+127=130,尾数部分存储为1.0001(注意前面的1被省略了),符号位为0(表示正数),最终存储...

    TMS320C3x浮点数简介、IEEE754的32位转VC33的32位浮点数算法、IEEE754的64位浮点数转VC33的40位浮点数算法

    转换过程中,需要注意以下几点: 1. 符号位:在转换过程中,保持原数值的符号不变。 2. 指数:根据不同的指数基数,需要进行指数的调整。在IEEE 754中,指数是偏移量,而在VC33中可能有不同的表示方式。 3. 尾数:...

    浮点数与十进制数转换工具

    浮点数与十进制数转换是计算机科学中常见的数据处理任务,特别是在数值计算、编程以及数据解析等领域。本文将详细探讨浮点数与十进制数之间的转换原理及其在实际应用中的重要性。 首先,浮点数是一种表示实数的方式...

    C程序中用union实现浮点数与IEEE格式转换

    1. 问题的提出 笔者在系统开发中采用RS485实现单片机与...一个浮点数计算式为: 例如,前面绘出的浮点数的表示形式中,s=0,n=132,m=(1/2+0/4+0/8+1/16+0/32+……),则计算结果为50.0. 3.浮点数与IEEE格式转换

    浮点数加法c++代码

    需要注意的是,浮点数的计算可能存在精度问题,因为它们是以二进制表示的,这可能导致看似简单的加法运算产生非预期的结果。 对于大浮点数加法,尤其是在POJ等在线判题平台上,可能会遇到数据范围超出普通浮点数...

    用Verilog实现整数转浮点数

    本话题聚焦于如何使用Verilog实现整数到浮点数的转换,这是一种在计算领域常见的数据类型转换,对于理解和实现高性能计算系统至关重要。 浮点数表示法是计算机科学中的一个关键概念,它允许存储和处理具有小数部分...

Global site tag (gtag.js) - Google Analytics