What's the difference between a single precision and double precision floating point operation? 0. 64-bits CPU 如果说一个 CPU 是 64 位机,通常意味着,其具有 64 位的通用寄存器(general purpose register)以及内存地址空间的大小(memory address size),这与最终执行的数学运算,是单精度还是双精度,没有关系. 1. 单精度 S EEEEE
Java语言中的其中一个设计目标是可移植性.无论在哪个虚拟机上运行,同一个计算应该得到同样的结果.对于浮点数的算术运算,实现这样的可移植性是相当困难的.double 类型使用 64 位存储一个 double 数值,而有些处理器使用 80 位浮点寄存器.这些寄存器增加了中间过程的计算精度.例如,下列运算: double w = x * y / z ; 很多Intel处理器计算x*y,并且将结果存储在80位的寄存器中,再除以z将结果截断为64位.这样可以得到一个更为精确的计算结果,并且还能