首页 > 代码库 > 几种常用过的按位操作符技术

几种常用过的按位操作符技术

控制硬件时常涉及到打开/关闭特定的位或查看它们的状态。按位操作符(<<,>>,~,&,|,^)提供了这种能力。下面的例子中,lottabits表示一个值,bit表示特定位的值。位从右到左进行编号,从0开始,因此,第n位的值为2的n次方(通常情况下只有一位为1,这是为了简洁处理)。例如,只有第3位为1的整数的值为2的3次方。(《C++ Primer Plus》附录E) 

1.打开位
  //打开位,将打开lottabits中对应于bit表示的位
  lottabits=lottabits|bit;
2.切换位
  //切换位,将对调lottabits与bit的位
  lottabits=lottabits^bit;
3.关闭位
  //关闭位,将关闭lottabits中对应于bit表示的位
  lottabits=lottabits&~bit;
4.测试位的值
  //测试位的值
  if (lottabits&bit) ;

几种常用过的按位操作符技术