计算机能做的运算称为位运算,即直接对0和1做运算
有些计算机功能必须通过位运算才能实现:比如写调试器,判断CPU的各种状态位
位运算主要有
1.与(&)1&1=1
2.或(|)0|1=1
3.异或(^)0^1=1 1^0=1 0^0=0 1^1=0
4.非(~)~0=1 ~1=0
5.左移:各二进制位全部左移若干位,高位丢弃,低位补0
shl(汇编) <<(c语言)
6.右移:各二进制位全部右移若干位,低位丢弃,高位补0或者补符号位
shr(汇编高位补0) sar(汇编高位补符号位) >>(c语言)(c语言中需要在右移操作之前界定被右移数的无符号数还是有符号数)