c语言的移位运算符(C语言之移位运算符)

<< //左移运算符

左移运算符将其运算对象每一位的值都向左移动。(左移几位,右边末尾就补几个0)

char a = 1;// (0000 0001)

b = a <<3; // (0000 0001 000 ),1字节是8位,因为是左移,所以要把最右边的去掉3位;

(0 0001 000)就是b变量的值(8)


>> //右移运算符

移位运算符

右移的话有点麻烦,因为带符号类型的话(0010 0011)值是35,如果往右移2位的话

变成(1000 1100)也不知道代表的是负数还是正数(每个机器显示的都不一样);

总之右移尽量不要用在有符号类型,不安全!!

您可以还会对下面的文章感兴趣

最新评论

  1. 放肆拥抱
    放肆拥抱
    发布于:2022-04-27 00:40:18 回复TA
    << //左移运算符左移运算符将其运算对象每一位的值都向左移动。(左移几位,右边末尾就补几个0)char a = 1;// (0000 0001)b = a <<3; // (0000 0001 00
  1. 汪滢桦珠
    汪滢桦珠
    发布于:2022-04-27 16:18:11 回复TA
    生日是一个舞台,一次考验,一次机会。恋爱时,男人更会利用这一点;结婚后,女人更会利用这一点。

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

使用微信扫描二维码后

点击右上角发送给好友