对 Unsigned int 取模的位掩码

Bitmask for modulo on Unsigned int

在 C 语言中对 unsigned int 进行模除以 256 使用什么位掩码?另外应该如何解决这个问题?

您必须使用所有比 256 位更不重要的位。

因此,在这种情况下,这将是 128、64、32、16、8、4、2 和 1 位。因此,生成的位掩码将为 0b11111111 = 0xff.

在 C 中,结果代码可能是 j & 0xff。但是那种手动翻译通常是不必要的,你也可以使用j % 256。如果出于性能原因想使用位掩码,请不要担心,编译器通常会将其优化掉。