它们之间的概念区别是什么?我知道位图是结构中的位字段..
struct{
int bit1: 1;
int bit2: 1;
int bit3: 1;
};
那么在这种情况下,位掩码是我们为枚举定义的东西吗?
最佳答案
位掩码是一种整数类型,用于在执行按位运算时“屏蔽”某些位。例如,位掩码 0xFFFFFFFF
可能用于屏蔽 32 位无符号值,因为您想一次对所有位进行操作,而 0x00000001
只会在最后一位操作。您经常会看到定义为“翻转”版本的位掩码,然后使用 ~
进行翻转。 .
另一方面,位图是一组变量,每个变量都映射到一个单独的位。有很多方法可以实现这一点,您的结构是位图的一个(常见)示例。
您可能会在枚举中放置各种掩码,以便您更轻松地访问它们,但这并不是绝对必要的。
关于c - C中位掩码和位图有什么区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9728102/