我试图将一些代码从 C 转换为 C++,请你们让我知道我哪里出错并给我一些指示吗?谢谢
出于某种原因,每次有人问这样一个琐碎的问题时,他们都会被告知“做你自己的作业”等,所以我只想指出这不是作业,因为它的价值。再次感谢
#include <iostream>
using namespace std;
int main()
{
int gcd_bin(int u, int v)
{
int t, k;
u = u < 0 ? -u : u; /* abs(u) */
v = v < 0 ? -v : v;
if (u < v)
{
t = u;
u = v;
v = t;
}
if (v == 0)
return u;
k = 1;
while (u & 1 == 0 && v & 1 == 0)
{ /* u, v - even */
u >>= 1; v >>= 1;
k <<= 1;
}
t = (u & 1) ? -v : u;
while (t)
{
while (t & 1 == 0)
t >>= 1;
if (t > 0)
u = t;
else
v = -t;
t = u - v;
}
return u * k;
}
}