在C语言中,左移和右移是位运算符,用来对一个数进行二进制位的移动操作。左移运算符<<把一个数的二进制位向左移动指定的位数,右边空出的位用0填充;右移运算符>>把一个数的二进制位向右移动指定的位数,左边根据符号位进行填充。
具体规则如下:
左移运算符<<:将一个数向左移动n位,相当于乘以2的n次方。例如,a << 2 表示将a左移2位,相当于a乘以4。
右移运算符>>:将一个数向右移动n位,相当于除以2的n次方。如果操作数是无符号整数,则空出的位用0填充;如果操作数是有符号整数,则空出的位用符号位填充(即保持符号不变)。