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)还是软件编译器的问题。