C语言中,“<<”为左移运算符,“>>”为右移运算符。
具体使用方法如下:
1、左移运算符(<<)
将一个运算对象的各二进制位全部左移若干位(左边的二进制位丢弃,右边补0)。
例:a = a << 2 将a的二进制位左移2位,右补0,
左移1位后a = a * 2;
若左移时舍弃的高位不包含1,则每左移一位,相当于该数乘以2。
2、右移运算符(>>)
将一个数的各二进制位全部右移若干位,正数左补0,负数左补1,右边丢弃。
操作数每右移一位,相当于该数除以2。
例如:a = a >> 2 将a的二进制位右移2位。
左补0 or 补1 得看被移数是正还是负。
这是两个位操作运算,是对参数二进制方式的位移,移动后,空出的位用0补上。例如:
0111 0101 b << 2 :对这个数左移二位后:1101 0100 b;
再如:
5 << 3 :先转换成二进制:0000 0101 b << 3 = 0010 1000 b = 0x28