0
Gain = 255 / (1 - 10 ^ ((Refblack-Refwhite) * 0.002/0.6) ^ (Dispgamma/1.7))

それはコンピューター言語ですか、それは c のように見えますが、排他的または浮動小数点数は計算しません。誰かがそれをcに変換できますか?

ありがとう

4

5 に答える 5

7

多くの言語で^は、累乗です。それが でpow()、 に次のプロトタイプがありますmath.h>

double pow(double x, double y);

これは x の y 乗を計算します。したがって、これにより方程式は次のように変換されます。

#include <math.h>

Gain = 255 / (1 - pow(10, pow(((Refblack-Refwhite) * 0.002/0.6), (Dispgamma/1.7))));
于 2010-01-14T10:10:15.697 に答える
4

私は彼らが意味すると思います:Gain = 255 / (1.0 - powf(10, powf((Refblack-Refwhite) * 0.002/0.6), Disgamma/1.7)))

^ は C の通常の xor 演算子であるため、他の人が pow を使用したように、int:s のみを使用して int を返します。詳細については、man 3 pow をご覧ください。

于 2010-01-14T10:12:38.917 に答える
3
gain = 255.0 / (1.0 - pow(10.0,  pow((Refblack - Refwhite) * 0.002 / 0.6, Dispgamma / 1.7) ))
于 2010-01-14T10:09:54.933 に答える
2

私にはMatlabコードのように見えます

Cでは、そのようなもの

#include <math.h>

float Gain=0;
...
Gain = 255 / (1 - powf(10, powf(((Refblack-Refwhite) * 0.002/0.6), (Dispgamma/1.7));
于 2010-01-14T14:15:31.153 に答える
2
Gain = 255 / (1 - pow(10 , ( pow( (Refblack-Refwhite) * 0.002/0.6) , (Dispgamma/1.7)) ) )
于 2010-01-14T10:11:20.230 に答える