ラップアラウンドの関数化
ラップアラウンドとは、ある範囲内で値がループするような計算のことです。下限値から上限値の間で数値をループさせたいときに利用します。
コード
int Wrap(int num, int low, int high)
{
//ゼロ除算回避
if ((high - low) == 0)return num;
//エラー
if (low > high)
{
printf("エラー:下限値が上限値を上回っています");
return num;
}
const int n = (num - low) % (high - low);
return (n >= 0) ? (n + min) : (n + high);
}