在C語言中,左移和右移是位運算符,用來對一個數進行二進制位的移動操作。左移運算符<<把一個數的二進制位向左移動指定的位數,右邊空出的位用0填充;右移運算符>>把一個數的二進制位向右移動指定的位數,左邊根據符號位進行填充。
具體規則如下:
左移運算符<<:將一個數向左移動n位,相當于乘以2的n次方。例如,a << 2 表示將a左移2位,相當于a乘以4。
右移運算符>>:將一個數向右移動n位,相當于除以2的n次方。如果操作數是無符號整數,則空出的位用0填充;如果操作數是有符號整數,則空出的位用符號位填充(即保持符號不變)。