与 &:
用来取值
1. 在 读寄存器时 保留部分的数据 ,
0x1234 & 0x00FF ==> 0x0034 ,
0x1234 & 0xFF00 ==> 0x1200 ,
0x1200 >> 8 ==> 0x0012
2. 或 判断某个标志位 是已经打开
#define F_VIDMODE_ITU709 (1 << 4)
is_on = bInputColorMode & F_VIDMODE_ITU709;//关闭指定位置
3. 关闭指定位置 (同1 , 这个是保留 除了 指定位的 所有数据 )
#define F_VIDMODE_ITU709 (1 << 4)
bInputColorMode &= ~F_VIDMODE_ITU709;//关闭指定位置
两个都为1才为1 ,
是用来指定位置 置0的;
操作数为0的位置
目标数同位置数置为0,1的位置不变.
或 |:
用来设值
将指定位置的 值设置为1 , 常用来 做为打开一些标志位
bInputColorMode |= F_VIDMODE_ITU709; //打开指定位置
两个有一个为1就为1,
是用来指定位置 置1的;
操作数1的位置
目标数同位置数置为1,0的位置不变.
例: 0x1234 | 0x00FF = 0x12FF