每天一个新知识:位运算

位运算

计算机现在可以存储所有的数字(整数,浮点数,字符)的,运算。!
0 1
位运算?
2*8 最高效计算方式。
很多底层的调试器。需要通过位来判断CPU的状态。
1.与运算(and &)
计算机的本质。在这里插入图片描述

1011 0001
1101 1000 与运算
1001 0000

2.或运算(or |)
在这里插入图片描述

1011 0001
1101 1000 或运算
1111 1001

在这里插入图片描述

1011 0001
1101 1000
----------- 异或运算
0110 1001

3.非运算(单目运算符 not ~) 0就是1,1就是0 ,取反!

1101 1000

0010 0111

通过这些可以完成加减乘除!位运算来实现加减乘除!

4.位运算(移动位)
左移:(shl <<)

0000 0001 @ 所有二进制位全部左移若干位,高位就丢弃了,低位补0
0000 0010

右移:(shr >>)

0000 0001 @ 所有二进制位全部右移若干位,低位就丢弃了,高位就需要补0,1(符号位决定。)
0000 0000
int a =10;
printf("%d\n",a>>2);

二进制、位运算=> 加减乘除

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章