Java 语言中的其中一个设计目标是可移植性。无论在哪个虚拟机上运行,同一个计算应该得到同样的结果。对于浮点数的算术运算,实现这样的可移植性是相当困难的。double 类型使用 64 位存储一个 double 数值,而有些处理器使用 80 位浮点寄存器。这些寄存器增加了中间过程的计算精度。例如:
double w = x * y / z;
很多 Intel 处理器计算 x * y,并且将结果存储在 80 位的寄存器中,再除以 z 将结果截断为 64 位。这样可以得到一个更为精确的计算结果,并且还能够避免产生指数溢出。但是,这个结果可能与始终在 64 位机器上计算的结果不一样。因此,Java 虚拟机最初规范规定所有的中间计算都必须进行截断。这种行为遭到了数值计算团体的反对。截断计算不仅可能导致溢出,而且由于截断操作需要消耗时间,所以在计算机速度上要比精确计算慢。为此,Java 程序设计语言承认了最优性能与最理想结果之间的冲突,并予以了改进。在默认情况下,虚拟机设计者允许将中间计算机结果采用扩展的精度。但是,对于使用 strictfp 关键字标记的方法来说,必须使用严格的浮点计算,以产生理想的结果。例如可以把 main 方法标记为
public static strictfp void main(String[] args){}
于是,在 main 方法中的所有指令都将使用严格的浮点计算。如将一个类标记为 strictfp ,这个类的所有方法都必须使用严格的浮点计算。
分享到:
相关推荐
小学算术运算测试程序,JAVA课程设计报告,有基本代码
Java算术运算测试程序[借鉴].pdf
基于CCS2000的仿真实验报告以及实验代码,详细介绍了利用CCS软件实现算术运算的方法
C高级语言程序设计:03算术运算与逻辑运算.pptx
计算机组成原理运算器实验—算术逻辑运算实验 (2).pdf计算机组成原理运算器实验—算术逻辑运算实验 (2).pdf计算机组成原理运算器实验—算术逻辑运算实验 (2).pdf计算机组成原理运算器实验—算术逻辑运算实验 (2).pdf...
本pdf文档介绍了计算机算术运算的原理、结构与设计。从简单的各类加减法到各种算法实现的乘法器、除法器,以及一些浮点运算、函数运算等等。深入浅出的解扰各种实现方法,帮你快速入门。作为手头一个全面的查找手册...
BeanShell java 表达式运算框架,及其方便快捷(附jar包,工具类,测试类)
《计算机组成原理》实验报告---8位算术逻辑运算实验.docx《计算机组成原理》实验报告---8位算术逻辑运算实验.docx《计算机组成原理》实验报告---8位算术逻辑运算实验.docx《计算机组成原理》实验报告---8位算术逻辑...
用VHDL描写的各种算术运算,包括加减乘除,乘方==
java课程设计 设计一个图形界面的计算器,完成简单的算术运算.docxjava课程设计 设计一个图形界面的计算器,完成简单的算术运算.docxjava课程设计 设计一个图形界面的计算器,完成简单的算术运算.docxjava课程设计 设计...
简单的算术运算,完成两个值相加的小程序,有刚入门的小同学跟我要,就分享一下。
用JAVA实现的算术式计算器,没有用到面向对象的思想,没执行一次要在DOS中输入JAVA Caculator
对于基本的算术表达式,以字符序列的形式从终端进行输入,要求语法正确的,不含变量,按照算术运算优先级顺序,实现基本算术表达式的运算过程。 (1) 输入:输入一个算术表达式,以#结束 (2) 输出:输出数据栈...
10.java算术运算符.zip10.java算术运算符.zip10.java算术运算符.zip10.java算术运算符.zip10.java算术运算符.zip10.java算术运算符.zip10.java算术运算符.zip10.java算术运算符.zip10.java算术运算符.zip10.java算术...
本pdf文档介绍了计算机算术运算的原理、结构与设计。 从简单的各类加减法到各种算法实现的乘法器、除法器,以及一些浮点运算、函数运算等等。深入浅出的解扰各种实现方法。 主要包含以下四个领域: 基数算术运算,带...
学习数据传送和算术运算指令的用法 。 二、 实验内容 将两个多位十进制数28056、47193相加,并显示加数、被加数、和。要求两个加数均以ASCII码形式各自顺序存放在DATA1和DATA2内存单元中,结果送回DATA1处(低位...
易语言核心支持库汇编版算术运算源码,核心支持库汇编版算术运算,更新信息
有关算术运算,变量,数组操作等的C#实例源码,QQ189608888
计算机专业类课程《计算机组成原理》实验报告--8位算术逻辑运算实验.docx计算机专业类课程《计算机组成原理》实验报告--8位算术逻辑运算实验.docx计算机专业类课程《计算机组成原理》实验报告--8位算术逻辑运算实验....
Java算术表达式计算类库 ExpressionJ