首页 聚焦 财经 产业 证券 股市 商业 民生 IPO 点评 IPhone客户端 安卓客户端
首页/财经观察

1

在不同的硬件平台会有一致的运行结果Strictfp会修饰所有类
2021-03-03

关键字strictfp是strict float point的缩写,指的是精确浮点,它是用来确保浮点数运算的准确性。JVM在执行浮点数运算时,如果没有指定strictfp关键字,此时计算结果可能会不精确,而且计算结果在不同平台或厂商的虚拟机上会有不同的结果,导致意想不到的错误。而一旦使用了strictfp来声明一个类、接口或者方法,那么在所声明的范围内,Java编译器以及运行环境会完全依照IEEE二进制浮点数算术标准来执行,在这个关键字声明的范围内所有浮点数的计算都是精确的。需要注意的是,当一个类被strictfp修饰时,所有方法都会自动被strictfp修饰。因此,strictfp可以保证浮点数运算的精确性,而且在不同的硬件平台会有一致的运行结果。

strictfp 关键字可应用于类、接口或方法。使用 strictfp 关键字声明一个方法时,该方法中所有的float和double表达式都严格遵守FP-strict的限制,符合IEEE-754规范。当对一个类或接口使用 strictfp 关键字时,该类中的所有代码,包括嵌套类型中的初始设定值和代码,都将严格地进行计算。严格约束意味着所有表达式的结果都必须是 IEEE 754 算法对操作数预期的结果,以单精度和双精度格式表示。如果你想让你的浮点运算更加精确,而且不会因为不同的硬件平台所执行的结果不一致的话,可以用关键字strictfp.

声明:登载此文出于传递信息之目的,本站仅供信息保存,如有异议请联系我们修订!
点赞
编辑:中证
中证新闻网
中证新闻网
中证点评更多

    在西藏昌都一望无际的牧场上,一...[详细]

民生经济更多
中证新闻网
科创板块更多
热搜汇聚更多
  • 合作: 商洽与内容纠错联系方式
  • Email:894204689@qq.com
  • CopyRight@2008-2024 中国证券新闻 All Right Reserved

    工信备案号:备案号京ICP(备)15095275

    中国证券新闻版权所有违者必究