溫馨提示×

c語言移位運(yùn)算符如何用

小億
127
2023-08-18 11:20:45
欄目: 編程語言

C語言中的移位運(yùn)算符有左移位運(yùn)算符(<<)和右移位運(yùn)算符(>>)。它們可以用于對一個數(shù)進(jìn)行二進(jìn)制位的移動。

左移位運(yùn)算符(<<)將數(shù)的二進(jìn)制表示向左移動指定的位數(shù)。移動過程中,右邊空出的位用0填充。例如,對于數(shù)值10(二進(jìn)制表示為1010),執(zhí)行10<<2的操作,結(jié)果為40(二進(jìn)制表示為101000)。

右移位運(yùn)算符(>>)將數(shù)的二進(jìn)制表示向右移動指定的位數(shù)。移動過程中,左邊空出的位用0或者符號位填充,取決于所操作的數(shù)據(jù)類型。例如,對于數(shù)值10(二進(jìn)制表示為1010),執(zhí)行10>>2的操作,結(jié)果為2(二進(jìn)制表示為10)。

以下是一個示例程序,演示了移位運(yùn)算符的使用:

#include <stdio.h>
int main() {
int num = 10;
printf("原始數(shù)值: %d\n", num);
// 左移兩位
int leftShifted = num << 2;
printf("左移兩位的結(jié)果: %d\n", leftShifted);
// 右移兩位
int rightShifted = num >> 2;
printf("右移兩位的結(jié)果: %d\n", rightShifted);
return 0;
}

運(yùn)行以上程序,輸出結(jié)果為:

原始數(shù)值: 10
左移兩位的結(jié)果: 40
右移兩位的結(jié)果: 2

這個示例演示了如何使用移位運(yùn)算符對一個數(shù)進(jìn)行移位操作,并打印出移位后的結(jié)果。

0