展开角度为360

Dan*_*ani 5 c++ angle

如何展开角度以在[0,360]中产生角度?
我可以做这个:

int unwind(int angle)
{
    while(angle < 0) angle += 360;
    while(angle >= 360) angle -= 360;
}
Run Code Online (Sandbox Code Playgroud)

但我很确定有一种方法可以在没有循环的情况下做到这一点.我也试过,angle % 360但这对负角度(-60 % 360 == -60)不起作用.

Lie*_*yan 11

尝试:

(360 + (angle % 360)) % 360
Run Code Online (Sandbox Code Playgroud)

要么:

(angle >= 0 ? 0 : 360) + angle % 360
Run Code Online (Sandbox Code Playgroud)