仅仅是为了位运算时方便吗
1
ipwx 2020-01-15 20:54:28 +08:00
1、我猜楼主说的是 flag 类型而不是单纯的枚举类型。
2、因为 2^k 是正交的啊。。。 |
2
ipwx 2020-01-15 20:54:57 +08:00
正交:x[i] & x[j] = 1 当且仅当 i == j
|
3
ipwx 2020-01-15 20:55:48 +08:00
好吧错了,x[i] & x[j] != 0 当且仅当 i == j
|
4
entimm 2020-01-15 21:05:04 +08:00 via Android
这种方便在数据库中只使用一个字段存储多个数值属于混合值
|
5
EminemW 2020-01-15 21:16:11 +08:00 via iPhone
这样用一个二进制位就能存了,省很多内存
|
6
k9982874 2020-01-15 21:25:51 +08:00 via iPhone
内存对齐
|
7
billlee 2020-01-15 22:15:24 +08:00
不要当成是一个 2^n 整数,它是一个放在第 n 位上的 bit. 一个 bit 就足够表示 true/false 了,需要保存很多开关的时候常用这种方法。
|
8
Justin13 2020-01-15 22:52:06 +08:00 via Android
为了支持枚举值之间的位运算,便于使用
|