所以我有一些代码可以给我抛物线上的点,但问题是当我将数字置为负数时,它会给我一个负面的背面,它不起作用。
#include "TileClass.h"
//#include <cmath> included in other header
// Original equation y=-x^2+4
void Tile::Loc() {
for (int a = -2; a < 3; a = a + 1) {
cout << "--- " << a << endl;
cout << "Pw" << (a << 2) << endl;
cout << ((a << 2) + 4) << endl;
}
}
输出
--- -2 Pw-8 -4 --- -1 Pw-4 0 --- 0 Pw0 4 --- 1 Pw4 8 --- 2 Pw8 12
答案 0 :(得分:4)
C ++运算符&lt;&lt;不是方形算子。它是bitshift运算符。
尝试
-(a*a)+4
代替
答案 1 :(得分:2)
表达a&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt; 如果你想获得a的平方,你最好使用* a。
答案 2 :(得分:1)
看起来你看起来不像是正方形。您将左移二进制值,这与左移每个乘以2基本相同。因此,在a = -2
时,执行(a << 2)
会导致显示-8
。您正在寻找的是 cmath 库中的 pow()函数,它应该像pow(a, 2);
一样使用