简单的C++数学给出不正确的结果
Simple C++ maths giving incorrect result
我正在编写一个 VSTi 插件,我需要为部分输出包络计算系数。
基本上我收到了数学表达式的错误答案,我将其简化为几个步骤,但它仍然不正确。相同的表达式适用于计算器,但无法转换为代码。我一直在使用调试器并检查变量的内容,发现 0.25/88200 给出的结果是 2.8344671201814060e-006,而不是 0.00000283446712。代码前面的类似数学运算按预期运行。
currentDecCoeff = 0.25 / 88200;
is making currentDecCoeff = 2.8344671201814060e-006 (and not 0.00000283446712)
所有相关变量都是双重类型,我什至将其输入为数值(如上所述)而不是变量,但它仍然给出了错误的答案。
任何人都可以阐明为什么会发生这种情况,并就尝试甚至解决方案提供一些想法。
如果需要,我可以在上下文中添加代码。干杯
本
它们与 9 个有效数字相同,查找科学记数法。
详细地说,科学记数法用于通过删除前导或尾随零来轻松显示非常小(或非常大)的数字。通常,它具有以下形式:
y x 10^z
若要获取值,请求解总和。C 将其显示为:
yEz
因此,2.4x10^6(或 2.4E6)是 2400000。
表示法e-006
的意思是将我剩下的东西乘以 10^(-6)。所以你的结果确实是正确的。
相关文章:
- 密码登录程序将永远循环并显示不正确的结果
- 特征 LLT 模块给出不正确的结果?
- 计算幂级数的数学结果不正确
- wcslen() 在使用编译指示包时返回不正确的结果
- 使用动态分配的数组进行矩阵乘法;结果不正确
- CMake 查找特征不正确的结果
- 将函数的地址转换为UINTPTR_T给我不正确的结果
- 使用 C++ 中的运算符重载显示不正确的结果
- 简单的程序比较阵列运行但给出不正确的结果
- 在运行libtorch的模型时获得的结果是不正确的,该模型经过训练并从Pytorch出口
- 当我输入分数值时,它返回不正确的结果
- time_t提高日期转换,给出不正确的结果
- 为什么隐式类型转换在此代码中结果不正确
- 排序向量不断修改数据并打印不正确的结果
- 使用Boost Polygon的减法结果不正确
- 脑解释器在C++产生不正确的结果
- 具有OFN_ALLOWMULTISELECT不正确的快捷方式结果的 CFileDialog
- 递归阶乘函数在"22!"上产生不正确的结果
- GLM 矩阵乘法向量给出不正确的结果
- 浮点数和由于舍入行为导致的不正确结果