gpt4 book ai didi

c++ - C++ 中的错误函数

转载 作者:太空宇宙 更新时间:2023-11-04 15:02:34 27 4
gpt4 key购买 nike

目前我在一个应用程序中有一个函数,它接受一个 float 作为参数,并且应该对传入的值执行简单的乘法和除法。在将值传递到应用程序中的函数之前,它被类型转换为float 作为主要应用程序的细节处理整数中的数字数据。不幸的是,当我将 0.0 的值传递给函数时,它不会生成 1.0 的输出(它应该从函数执行的计算中得到),而只是输出 0.0 的值,我想知道为什么计算无法产生据我所知,程序编译时的正确输出和计算是正确的。

代码如下:

void CarPositionClass::centre(float inputPos)
{
if ((inputPos <= 0) && (inputPos >= -125))
{
membershipC = ((inputPos + 125)*(1 / 125));
}
}

还应注意,membershipC 是一个浮点变量,它是 CarPositionClass 的成员。

最佳答案

1/125 更改为 1.0/1251/125 使用整数除法,所以结果为 0。

或者改变这个表达式

((inputPos + 125)*(1 / 125))

(inputPos + 125) / 125

因为inputPos是 float ,所以inputPos + 125也是 float ,然后用一个整数除以一个 float 就是一个 float 。

附言这肯定是一个重复的问题。我希望 C++ 专家现在随时可以放下双锤。 :)

关于c++ - C++ 中的错误函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28288948/

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