位运算
计算机现在可以存储所有的数字(整数,浮点数,字符)的,运算。! 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);
二进制、位运算=> 加减乘除