现在我正在做如下:
uint8_t ManualFlow = 40; // 0 -> 255 Unsigned Char
uint24_t ME; // 0 -> 16777215 Unsigned Short Long
ME = (uint24_t) ManualFlow*10; // Have to make this hack otherwise malfunction in calculation
ME /= 6;
ME *= (80 - 60);
ME /= 100;
ME *= 414;
最终结果:
40*10 = 400
400/6 = 66
66*20 = 1320
1320/100 = 13
13*414 = 5382
我会喜欢的内容与此类似:
4/60 = 0,0667 * 20 * 4188 * 0,998 = 5576 (more accurate).
我怎样才能在不使用float
s 或double
s 的情况下更准确地做到这一点,最重要的是不要过多地增加我的代码大小。
亲切的问候 索尼特