小朋友学C语言(24):位运算符

偏执的太偏执、 2022-06-05 23:54 249阅读 0赞

位运算符有三个:“与(&)”、“或(|)”、“异或(^)”。

在了解位运算符之前,请先复习逻辑运算符:
小朋友学C语言(12):逻辑运算符

位运算,就是对应的bit参与运算,结果是整型数。
逻辑运算,是两个逻辑变量(0或1,非0都算做1)参与运行,结果是逻辑值(0或1)。

(一)位运算符“与”(&)

运算规则:
1 & 1 = 1
1 & 0 = 0
0 & 1 = 0
0 & 0 = 0

例1:13 & 6 = 4

与.png

注意:13在计算机里实际占32位,在1101的左边还有28个0,为了表示简便,将左侧的28个0都省略了。
同样,6的二制式形式0100的最左边也有28个0。

编程验证:

  1. #include <stdio.h>
  2. int main()
  3. {
  4. int a = 13;
  5. int b = 6;
  6. int result = a & b;
  7. printf("%d & %d = %d\n", a, b, result);
  8. return 0;
  9. }

运行结果:

  1. 13 & 6 = 4

(二)位运算符“或”(|)

运算规则:
1 | 1 = 1
1 | 0 = 1
0 | 1 = 1
0 | 0 = 0

例2:13 | 2 = 15

或.png

程序验证:

  1. #include <stdio.h>
  2. int main()
  3. {
  4. int a = 13;
  5. int b = 2;
  6. printf("%d & %d = %d\n", a, b, a | b);
  7. return 0;
  8. }

运行结果:

  1. 13 & 2 = 15

(三)位运算符“异或”(^)

运算规则(相同为0,不同为1):
1 ^ 1 = 0
1 ^ 0 = 1
0 ^ 1 = 1
0 ^ 0 = 0

例3:13 ^ 7 = 10

异或.png

验证程序:

  1. #include <stdio.h>
  2. int main()
  3. {
  4. int a = 13;
  5. int b = 7;
  6. printf("%d & %d = %d\n", a, b, a ^ b);
  7. return 0;
  8. }

运行结果:

  1. 13 & 7 = 10

更多内容请关注微信公众号
wchat\_official.jpg

发表评论

表情:
评论列表 (有 0 条评论,249人围观)

还没有评论,来说两句吧...

相关阅读

    相关 小朋友C语言(20):数组

    一、数组简介 C 语言支持数组数据结构,它可以存储一个固定大小的相同类型元素的顺序集合。数组是用来存储一系列数据,但它往往被认为是一系列相同类型的变量。 数组的声明并