C语言复习之位运算

  • Post author:
  • Post category:其他




1.位运算

位运算是指按二进制进行的运算。

& 按位与 ~ 取反
I 按位或 << 左移
^ 按位异或 >> 右移
  • 位运算符中除了~以外,均为二元运算符,即符号两边各有一个运算量。
  • 运算量只能是整型或字符型的数据,不能为实型数据。



1.1 (&)运算符

含义:参与运算的两个数据,按二进制位进行与运算。

例如:

0 & 0 = 0,0 & 1 = 0

1 & 0 = 0,1 & 1 =1

如果参与&运算的是负数,则要以补码形式表示二进制数,然后再进行按位进行&运算。


用处



一、清零,若要对一个存储单元清零,即使其全部二进制位为0,只要找一个二进制数,其中各个位符合一下条件:与被清零数的二进制位为1的数相反。然后二者进行&运算,即可到达目的。

例如 对11100101的第二位清零。我们找的是11111011,结果是11100001.

二、取一个数中某些指定位

例如:我们需要对一个字型数据取出其低8位的值时。

11010101



版权声明:本文为weixin_44164943原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。