我最近开始使用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