我使用无符号字节的 0-255 二进制溢出/环绕,因为这可以节省无限环绕游戏世界中的某些边界检查(条件分支)。
有没有一种方法,使用位运算符来包装任意 2 的幂值,例如2^5 = 32?
这将无条件发生,因此,如果值 >= 32,我们会像往常一样换行,如果它 < 32,则值将保持不变。
最佳答案
是的,您可以只使用掩码和值。所以如果你想要你的值模 32 你可以这样做
x = x & 31;
这会将值限制为最低有效 5 位。 (换句话说,这适用于所有 2 的幂的环绕)
关于c# - 小于 0-255 时按位二进制溢出,例如0-32?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68955447/