strictfp有什么作用?

不念不忘少年蓝@ 2023-10-10 17:08 113阅读 0赞

  关键字strictfp是strict float point的缩写,意思是精确浮点,主要作用是确保浮点数运算的准确性。JVM在执行浮点数运算时,如果没有指定strictfp关键字,此时计算结果可能会造成不精确,而且计算结果在不同平台或厂商的虚拟机上会有不同的结果,导致意想不到的错误。

  当我们一旦使用了strictfp类声明一个类、接口或者方法,那么在所声明的范围内,Java编译器以及运行环境会完全依照IEEE二进制浮点数算术标准(IEEE 754)来执行,在这个关键字声明的范围内所有浮点数的计算都是精确的。

  还需要我们注意的是,在一个类被strictfp修饰时,所有方法都会自动被strictfp修饰。因此,strictfp可以保证浮点数运算的精确性,而且在不同的硬件平台上会有一致性的运行结果。下列给出了strictfp修饰类的使用方法:

  1. public strictfp class Test{
  2. public static void testStrictfp(){
  3. float f = 0.12365f;
  4. double d = 0.03496421d;
  5. double sum = f + d;
  6. System.out.println(sum);
  7. }
  8. public static void main(String[] args){
  9. testStrictfp();
  10. }
  11. }

  程序运行结果为:

  1. 0.15861420949932098

发表评论

表情:
评论列表 (有 0 条评论,113人围观)

还没有评论,来说两句吧...

相关阅读

    相关 volatile 什么作用

    `volatile` 是一个关键字,通常用于声明变量,`volatile` 的主要作用是告诉编译器和操作系统,该变量可能会被多个线程同时访问,因此不应该对这个变量进行优化,以确

    相关 static什么作用

    static: 当它作用于函数定义时,或者用于代码块之外的变量声明时, static关键字用于修改标示符的链接属性。外部链接属性变为内部链接属性,标识符的存储类型和作用域不

    相关 static什么作用

    面试题:static有什么作用? 答:在C语言中,static主要定义全局静态变量,定义局部静态变量,定义静态函数  一、       定义全局静态变量 :在全局变量前面加