2

我有这个功能:

    float ObliczRate(float fKwotaKredytu, float fOprocentowanie, int iIloscRat)
{
    /*
    Rata = K * y^n * (y-1) / (y^n-1);

    y = 1 + (r / 12)
    */

    float fRata, float fY;

    fY = 1 + (fOprocentowanie / 12); // obliczanie stałej kredytu
    fRata = fKwotaKredytu * fY^iIloscRat * (fY - 1) / (fY^iIloscRat - 1); // obliczanie raty stałej ze wzoru

    return fRata;
}

而且我有错误:“错误C2296:'^':非法,左操作数的类型为'float'”仅在“(fY ^ iIloscRat - 1)”上。这有什么问题?

4

4 回答 4

5

这是因为不是^指数运算符,而是按位异或运算符。你想要这个功能。std::pow

于 2013-03-05T08:43:31.077 回答
2

在 C++ 中,运算符^的含义是按位异或运算符,而不是幂运算。您将不得不使用此处标题pow中定义的函数。cmath

于 2013-03-05T08:43:39.643 回答
2

在 C++ 中,您必须使用函数pow来执行幂运算。

签名如下所示:

float pow( float base, float exp );

你可以在这里找到

于 2013-03-05T08:43:50.053 回答
1

请为此目的使用 pow 函数。下面是示例的链接

http://www.cplusplus.com/reference/cmath/pow/

于 2013-03-05T12:09:12.063 回答