我最近開始使用C語言。我有一個簡單的問題數學計算C
Unsigned int a;
float b;
a=8000;
b=(((((float)a)/65535)-1)/0.245); // b= ((a/65535)-1)/0.245;
printf("value:%f \r\n", b);
我不知道什麼是上述公式中的問題,但我不能打印「b」值。我會得到「b值爲負值」。如何打印「b值」?
我最近開始使用C語言。我有一個簡單的問題數學計算C
Unsigned int a;
float b;
a=8000;
b=(((((float)a)/65535)-1)/0.245); // b= ((a/65535)-1)/0.245;
printf("value:%f \r\n", b);
我不知道什麼是上述公式中的問題,但我不能打印「b」值。我會得到「b值爲負值」。如何打印「b值」?
如果你想只是B的原始值,你就必須做
b = fabsf(b);
OR
printf("value:%f \r\n", fabsf(b));
由於本B將永遠是陰性的所有值,其中一個< 65535.0
這是假設你有一個數學庫包括在內。
你得到的結果是什麼,你期望得到什麼? – jsalonen
將b改爲double。事情會很好 –
什麼值有'a'? – fasked