我发现一种变量的值为整数(0…224-1)。一个编写代码的人决定将一个变量的类型设置为uint32_t var;并将结果设置为0xFFFFFF
这个uint32&OxFFFFFF如何处理整数(0…224-1)的值?
据我所知,使用掩蔽0xFFFFFF可以使值全部为正值(或?)但这是怎么回事,我想我错过了一个概念。

最佳答案

使用0xffffff进行掩蔽只能确保存储的值永远不在0..2^24-1范围之外。除了较低的24位以外的任何内容都将被丢弃。
例如,如果您拥有值-1并将其屏蔽,那么它最终将成为值0xffffff。值已更改,但现在在有效范围内。

关于c - 整数(0..2 ** 24-1)是uint32_t&0xFFFFFF吗?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/9159573/

10-13 23:12