C++ 计算从一点到另一点的距离

C++ 计算从一点到另一点的距离,c++,math,C++,Math,所以我有一个计算距离的双倍体 double calculate2DDistance(int x1, int y1, int x2, int y2) { return sqrt((x2 - x1)^2 + (y2 - y1)^2); } 注意,我从一个名为math.h的头文件调用这个方法到我的main中 我的测试线在main.h cout << calculate2DDistance(2.0, 4.0, 3.0, 1.0) << endl; CUT C

所以我有一个计算距离的双倍体

    double calculate2DDistance(int x1, int y1, int x2, int y2)
{
    return sqrt((x2 - x1)^2 + (y2 - y1)^2);
}
注意,我从一个名为math.h的头文件调用这个方法到我的main中

我的测试线在main.h

cout << calculate2DDistance(2.0, 4.0, 3.0, 1.0) << endl;

<代码> CUT

C++中,<代码> ^ < /COD>操作符表示按位XOR。 要将数字提升为幂,请使用:

或者,在您的情况下(仅仅是平方运算),只使用乘法会更有效:

const int dx = x2 - x1;
const int dy = y2 - y1;
return sqrt((dx * dx) + (dy * dy));

<>在C++中,<代码> ^ < /COD>操作符表示按位XOR。 要将数字提升为幂,请使用:

或者,在您的情况下(仅仅是平方运算),只使用乘法会更有效:

const int dx = x2 - x1;
const int dy = y2 - y1;
return sqrt((dx * dx) + (dy * dy));

.你真的想要
intx1,inty1
双x1,双y1?。你真的想要
intx1,inty1
双x1,双y1?非常感谢,我不知道^是位运算符即使值不是整数,
dx=x2-x1
dx*dx
可能比调用通用
pow
函数快。@Mats是的,我同时编辑了“整数”部分。;)非常感谢,我不知道^是位运算符即使值不是整数,
dx=x2-x1
dx*dx
可能比调用通用
pow
函数快。@Mats是的,我同时编辑了“整数”部分。;)