如何进行位运算?什么时候用原码,什么时候又用补码

2025-03-18 13:51:22
推荐回答(1个)
回答1:

位运算符有以下几种: ^按位异或运算 |按位或运算 &按位与运算 ~按位取反运算 >>位左移操作 <<位右移操作.

在单片机等嵌入式系统中,位运算是十分常用的运算之一.

而在PC上写应用程序时,位运算符用得比较少,只有在需要构造一些特殊的数时或者一些编解码等时可能用到.

例如对于一个整数x,如果要把它的每个位都置1,那么可以写x=~0; /*每位都是0取反就是全1了*/
这样写的好处是,可以不管这个整数x是多少位的,编译器会自动生成合适的数.

另一个常用的操作是用&来获取某个或者某些位.例如获取整数x中的低4位可以写成x&0x0F

也可以用|,&,<<,>>等配合来设置和清除某位或者某些位.

例如: x=x&0x1; /*清除x的最后一位,即第0位*/
x=x&(0x1<<5); /*清除x的低5位*/
x=x|0x1; /*将x的最后一位(即第0位)设置为1*/
x=x|(0x1<<6); /*将x的第6位设置为1*/

看看这个实际问题,在里面使用了位运算操作:http://zhidao.baidu.com/question/17447875.html