新人求助:枚举数据结构中位移操作符的含义
如下面这段代码(网上找到的游戏源码中的一段):
enum RENDER_FLAGS
{
RENDER_NONE = 0x00,
RENDER_SKY = (1<<0),
RENDER_TERRAIN = (1<<1),
RENDER_SCENE_OUTDOOR = (1<<2),
RENDER_SCENE_INDOOR = (1<<3),
RENDER_FLORA = (1<<4),
RENDER_WATER = (1<<5),
RENDER_SHADOW = (1<<6),
RENDER_MODELTARGET = (1<<7),
RENDER_POSTEFFECT = (1<<8),
RENDER_SPRITE = (1<<9),
RENDER_DEBUG_INFO = (1<<10),
RENDER_WATER_TEXTURE = (1<<11), // 将场景渲染到水纹理
RENDER_CHARACTER = (1<<12),
RENDER_NAVIGATION = (1<<13),
RENDER_COLLISION = (1<<14),
RENDER_ALL = RENDER_SKY|RENDER_TERRAIN|RENDER_SCENE_OUTDOOR|RENDER_SCENE_INDOOR|RENDER_CHARACTER|RENDER_FLORA|RENDER_WATER|RENDER_SHADOW|RENDER_SPRITE|RENDER_DEBUG_INFO,
};
其中为什么是使用到位移操作符?有什么特别的含义吗?按大多数见到的枚举定义中,都是应该是0.1.2.3...之类的