首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > J2SE开发 >

strictfp :到底是float*float中间结果会扩展为double还是中间结果会被截成float?该怎么处理

2012-02-11 
strictfp :到底是float*float中间结果会扩展为double还是中间结果会被截成float?strictfp:到底是float*flo

strictfp :到底是float*float中间结果会扩展为double还是中间结果会被截成float?
strictfp   :到底是float*float中间结果会扩展为double还是中间结果会被截成float?

[解决办法]
应该是float

这个问题比较有趣

我做了个测试
look

float a = 1.11111f;
float b = 0.11111f;
double a1 = 1.11111;
double b1 = 0.11111;
double d0 = a * b;
double d1 = a1 * b1;
float f0=a*b;
float f1=(float)(a1*b1);
System.out.println( "d0= " + d0);
System.out.println( "d1= " + d1);
System.out.println( "f0= " + f0);
System.out.println( "f1= " + f1);
System.out.println( "f2= " + (double)f1);

//相当于把float*float得到的float强行转化为double的结果
d0=0.12345542758703232
//高精度double
d1=0.1234554321
//float
f0=0.12345543
//相当于把double转化为float
f1=0.123455435
//将float转化为double
f2=0.12345543503761292



[解决办法]
确实很有趣,不过真的不明白为什么是这样的
[解决办法]
路过,学习

热点排行
Bad Request.