C语言左移与右移学习

在学习左移与右移之前,我们首先要学习两种移位运算:逻辑移位算数移位

逻辑位移:移出去的位丢弃,空缺位用0补充。

算数位移:移出去的位丢弃,空缺位用符号位补充。

左移

左移是高位溢出,低位补零。

例子:

5<<1

0000 0101

变为 0000 1010

右移

右移分为逻辑右移算数右移

逻辑右移:高位补0,低位溢出。

0101 1010 >> 3

0000 1011

算数右移:高位补符号位,低位溢出(有符号数)。

1010 1101 >> 3

1111 0101

0111 1101 >> 3

0000 1111

在进行左移和右移操作时,要注意右移有逻辑右移和算数右移两种,选择正确的右移方式。

你可能感兴趣的:(学习)