首页 > C > 位运算 阅读:57,774

左移(<<)运算

左移运算符为<<。将一个数a向左移动n位记为:a<<n。比如将12向左移动2位如何计算呢?12的二进制为00001100,那么左移动2位为:00110000。无论左移还是右移,都需要用0或者1去填充移动之后空位。在左移的过程中,右边一律用0去填充。左移就没有右移那样分为逻辑右移和算术右移。

比如,将10左移2位,由于10的二进制为:00001010,那么左移2位,右边用零填充的结果为:00101000

将一个数左移N位相当于将一个数乘以2N,而将一个数右移N位相当于将这个数除以2N

int main(void)

{

       int a = 10;

       int b = a<<2;

       printf(“b=%d\n”, b);

       return 0;

}

上述位运算符的优先级列表如下:

实际上,在讲解运算符的第5章就已经将各个运算符的优先级列了出来。因此,牢牢记住整个运算符的优先级,就没有问题。

周哥教IT,分享编程知识,提高编程技能,程序员的充电站。跟着周哥一起学习,每天都有进步。

通俗易懂,深入浅出,一篇文章只讲一个知识点。

当你决定关注「周哥教IT」,你已然超越了90%的程序员!

IT黄埔-周哥教IT技术交流QQ群:213774841,期待您的加入!

二维码
微信扫描二维码关注