小于 0-255 时按位二进制溢出,例如0-32?
Bitwise binary overflow at less than 0-255, e.g. 0-32?
我使用无符号字节的 0-255 二进制溢出/环绕,因为这可以节省无限环绕游戏世界中的某些边界检查(条件分支)。
有没有办法使用位运算符来包装任意 2 的幂值,例如2^5 = 32?
这将无条件地发生,因此如果该值 >= 32,我们将照常换行,如果 < 32,该值将保持不变。
是的,您可以只和带有掩码的值。所以如果你想要你的价值模 32 你可以做
x = x & 31;
这会将值限制为最低有效 5 位。
(换句话说,这适用于所有 2 的幂的环绕)
我使用无符号字节的 0-255 二进制溢出/环绕,因为这可以节省无限环绕游戏世界中的某些边界检查(条件分支)。
有没有办法使用位运算符来包装任意 2 的幂值,例如2^5 = 32?
这将无条件地发生,因此如果该值 >= 32,我们将照常换行,如果 < 32,该值将保持不变。
是的,您可以只和带有掩码的值。所以如果你想要你的价值模 32 你可以做
x = x & 31;
这会将值限制为最低有效 5 位。 (换句话说,这适用于所有 2 的幂的环绕)