给定一个值n
,将其置于[min, max]
范围内的最有效方法是什么?如果它超出范围,它将在整个范围内重复?最有效的方法来“剪辑”一个值来重复一个范围?
我不知道这个术语,所以很难短语的问题,但也许事实表可能有所帮助:
凡min = -2
和max = 3
input --> output
-6 0
-5 1
-4 2
-3 3
-2 -2
-1 -1
0 0
1 1
2 2
3 -2
4 -1
5 0
6 1
我有什么事这么远是这样的:
(value - min) % (max - min) + min;
其中一期工程,但我担心的是模运算符%
是不可靠的负输入,从ω帽子我读过(输出成为实现定义,使之无用,或至少不可移植)
为什么不取绝对值的模数? –
显示你的尝试。 –
这是你正在寻找的方程吗? 'X%(最大值 - 最小值)+ min' – Zohar81