gpt4 book ai didi

c - 如何在没有 float 的情况下提高准确性 C

转载 作者:太空宇宙 更新时间:2023-11-04 00:53:43 24 4
gpt4 key购买 nike

现在我正在做如下:

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).

如何在不使用 floatdouble 的情况下更准确地做到这一点,最重要的是不要过多地增加我的代码大小。

亲切的问候索尼特

最佳答案

你可能想看看定点算法:

http://en.wikipedia.org/wiki/Fixed-point_arithmetic

WG14 的技术报告 18037(不幸的是,最新版本 ISO/IEC TR 18037:2008 不是免费的):

http://www.open-std.org/jtc1/sc22/wg14/www/docs/n1169.pdf

关于c - 如何在没有 float 的情况下提高准确性 C,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9984344/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com