java strictfp 关键字_Java 关键字 strictfp

java strictfp 关键字_Java 关键字 strictfp1 介绍自 Java2 以来 Java 语言增加了一个关键字 strictfp 即 strictfloatp 精确浮点 strictfp 关键字可应用于类 接口或方法 使用 strictfp 关键字声明一个方法时 该方法中所有的 float 和 double 表达式都严格遵守 FP strict 的限制 符合 IEEE 754 规范 当对一个类或接口使用 strictfp 关键字时 该类中的所有代码 包括

1.介绍

自Java2以来,Java语言增加了一个关键字strictfp,即 strict float point (精确浮点)。

strictfp 关键字可应用于类、接口或方法。

使用 strictfp 关键字声明一个方法时,该方法中所有的float和double表达式都严格遵守FP-strict的限制,符合IEEE-754规范。当对一个类或接口使用 strictfp 关键字时,该类中的所有代码,包括嵌套类型中的初始设定值和代码,都将严格地进行计算。严格约束意味着所有表达式的结果都必须是 IEEE 754 算法对操作数预期的结果,以单精度和双精度格式表示。

在FP-strict表达式中,所有中间值必须是浮点值集或双值集的元素,这意味着所有FP严格表达式的结果必须是IEEE 754算法在使用单格式和双格式表示的操作数上预测的结果。在不是FP-strict的表达式中,为实现授予了一些余地,以使用扩展指数范围来表示中间结果; 粗略地说,净效应是在独占使用浮点值集或双值集可能导致上溢或下溢的情况下,计算可能会产生“正确答案”。

—-JLS

换句话说,它是关于确保Write-Once-Run-Anywhere实际上意味着Write-Once-Get-Equally-Werong-Results-Everywhere。

使用strictfp,您的结果是可移植的,没有它,它们更可能是准确的。

2.实例

/

* strictfp关键字,基本不用

* 跨平台时可能需要用

* 输出0.

*/

private static strictfp void strictfpTest(){

float aFloat = 0.f;

double bDouble = 0.0;

double sum = aFloat + bDouble;

System.out.println(sum);

}

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/231519.html原文链接:https://javaforall.net

(0)
上一篇 2025年12月7日 下午4:01
下一篇 2025年12月7日 下午4:22


相关推荐

  • java list最优遍历

    java list最优遍历

    2021年7月2日
    86
  • 2026 最新 Grok 4.2 国内极速直连指南:grok多智能体介绍与Grok镜像保姆级国内使用教程

    2026 最新 Grok 4.2 国内极速直连指南:grok多智能体介绍与Grok镜像保姆级国内使用教程

    2026年3月15日
    6
  • 国产AI登顶全球!智谱+华为联手

    国产AI登顶全球!智谱+华为联手

    2026年3月12日
    1
  • CloudSim资源调度「建议收藏」

    CloudSim资源调度「建议收藏」    本菜鸡的毕业设计选择的就是面向数据中心能耗优化的粒子群算法的设计与实现,别问我为啥选这个,我也不知道,在网上查询了很多之后发现也就GitHub上面就4个项目,好像也就第四能用。然后就是YouTube上面有一个印度小哥的视频,做了一个高大上的界面,用的InternetTopologyZoo做了一个界面,非常酷眩,然而没有源代码,全程是成果展示,心痛的要死。但是仅仅是云任务调度,而这…

    2022年10月13日
    5
  • 数据库概念结构设计_数据库概念结构设计怎么写

    数据库概念结构设计_数据库概念结构设计怎么写一、概念模型在需求分析阶段所得到的应用需求应该首先抽象为信息世界的结构,然后才能更改、更准确地用某一数据库管理系统实现这些需求。概念模型的主要特点:1.能真实、充分地反映现实世界,包括事物和事物之间的联系,能满足用户对数据的处理要求,是现实世界的一个真是模型。2.易于理解,可以用它和不熟悉计算机的用户交换意见。用户的积极参与是数据库设计成功的关键。3.易于更改,当应用环境和应用要求改变时容易对概念模型修改和扩充。4.易于向关系、网状、层次等各种数据模型转换…

    2022年10月12日
    7
  • oracle菜鸟入门,Oracle入门教程,新手必读

    oracle菜鸟入门,Oracle入门教程,新手必读1 删除表的注意事项在删除一个表中的全部数据时 须使用 TRUNCATETABL 表名 因为用 DROPTABLE DELETE FROM 表名时 TABLESPACE 表空间该表的占用空间并未释放 反复几次 DROP DELETE 操作后 该 TABLESPACE 上百兆的空间就被耗光了 2 having 子句的用法 having 子句对 groupby 子句所确定的行组进行控制 having 子

    2026年3月26日
    2

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号