同一段代码,在嵌入式系统上和PC上运行的结果不一致,如何处理?请大神指教
如下一段代码,在PC上运行完全正确,但移值到ARM上,
结果却不一致,出现了错误。不知道错误在哪里?
float r,g,b;
float x,y,z;
float xx,yy;
// 对r, g, b进行赋值
r=220,
g=20;
b=15;
r/=255.0f;g/=255.0f;b/=255.0f;
if(r<=0.04045) r=r/12.92f;
else r=float(pow(((r+0.055)/1.055),2.4));
if(g<=0.04045) g=g/12.92f;
else g=float(pow(((g+0.055)/1.055),2.4));
if(b<=0.04045) b=b/12.92f;
else b=float(pow(((b+0.055)/1.055),2.4));
x = 41.24f * r + 35.76f * g + 18.05f * b;
y = 21.26f * r + 71.52f * g + 7.2f * b;
z = 1.93f * r + 11.92f * g + 95.05f * b;