TI中文支持网
TI专业的中文技术问题搜集分享网站

28335运算64位浮点遇到的一个奇怪问题

ccs为5.4.0,芯片为28335

代码我定义如下:

long double test,test1,test2;

test = ((long double)0.000001388888888889)*259199999;

test1 = 0.000001388888888889L;

test2 = test1*259199999;

test和test2的输出结果不一样,test大于360,test2小于360。并且用计算器计算,test2的结果才是正确的。

但是同样的,如果换其他的数据计算

long double test,test1,test2;

test = ((long double)0.0000006705522537231)*536870911;

test1 = 0.0000006705522537231L;

test2 = test1*536870911;

test和test2的结果是一样,并且和计算器计算的结果一样。

 

我想知道这是28335的fpu的问题(我打开了fpu)还是软件编译器的问题。

赞(0)
未经允许不得转载:TI中文支持网 » 28335运算64位浮点遇到的一个奇怪问题
分享到: 更多 (0)