位操作2.0 3.0
1、自己写代码用位操作(主要是移位和位取反)来构建这个特定的二进制数来实现寄存器的特定位置给特定值。
2、使用移位来获取特定位为1的二进制数。用移位法来获取一个特定位为1的二进制数。例如(0x1f<<3)。(0x1f<<3) | (0x7<<23)。
3、使用移位结合取反获取特定位为0的二进制数。
4、在C语言题目中,设置为1,清除为0。
5、给定一个整型数a,设置a的bit3,保证其他位不变;a = a | (1<<3)
6、给定一个整型数a,清除a的bit15,保证其他位不变;a =~( a & (1<<15))
7、给定一个整型数a,取出a的bit3~bit8:先将bit3~bit8保持不变,其余位清零(位与),再将其右移3位得到结果。
8、用C语言给一个寄存器的bit7~bit17赋值937(其余位不受影响)(第一不能影响其他位,第二不知道bit7~bit17的值):先将bit7~bit17清零,然后赋值937到bit7~bit17.
a &= ~(0x7ff<<7); a |= (937<<7);
浙公网安备 33010602011771号