划分两个相同的浮点值不会导致1

时间:2017-01-30 20:02:56

标签: c floating-point pow

在我的职能中:

const float EXPONENT = 1.8;
const uint8_t INDEX_MAX = 15;

uint8_t calcNewValue(uint8_t pwmIndex){
   uint8_t  pwmBaseValue = 255, result = 0;

   result = pow(pwmIndex, EXPONENT) / pow(INDEX_MAX, EXPONENT) * (pwmBaseValue);
   return result;   
}

当pwmIndex为15时,"结果"应读为:(15 ^ 1.8)/(15 ^ 1.8)* 255,结果为255。 但我得到了254。为什么呢?

更新:我检查了代码here,它应该可以正常工作,但它不知道我的8位微控制器。

0 个答案:

没有答案
相关问题