Gain = 255 / (1 - 10 ^ ((Refblack-Refwhite) * 0.002/0.6) ^ (Dispgamma/1.7))
这是一种计算机语言,它看起来像c但独占或浮动不计算。 任何人都可以将其转换为c吗?
感谢
答案 0 :(得分:7)
在许多语言中,^
是取幂。那是pow()
,它在math.h>
中有以下原型:
double pow(double x, double y);
这计算x提升到y:th次幂。因此,这使得公式转换为:
#include <math.h>
Gain = 255 / (1 - pow(10, pow(((Refblack-Refwhite) * 0.002/0.6), (Dispgamma/1.7))));
答案 1 :(得分:4)
我猜他们的意思是:Gain = 255 / (1.0 - powf(10, powf((Refblack-Refwhite) * 0.002/0.6), Disgamma/1.7)))
因为^是C中的normaly xor运算符。正如其他人使用pow一样,它只会使用int:s并返回一个int。 man 3 pow获取更多信息。
答案 2 :(得分:3)
gain = 255.0 / (1.0 - pow(10.0, pow((Refblack - Refwhite) * 0.002 / 0.6, Dispgamma / 1.7) ))
答案 3 :(得分:2)
Gain = 255 / (1 - pow(10 , ( pow( (Refblack-Refwhite) * 0.002/0.6) , (Dispgamma/1.7)) ) )
答案 4 :(得分:2)
看起来像我的Matlab代码
C中的,类似的东西
#include <math.h>
float Gain=0;
...
Gain = 255 / (1 - powf(10, powf(((Refblack-Refwhite) * 0.002/0.6), (Dispgamma/1.7));