美文网首页
移位操作符

移位操作符

作者: 小贱嘎嘎 | 来源:发表于2017-06-09 17:15 被阅读0次

    下面以数17为例展示一下对正负17进行移位后的结果

    正数17机器码表示为

    0000 0000 0000 0000 0000 0000 0001 0001
    

    负数17机器码表示为(原码求反再加1)

    1111 1111 1111 1111 1111 1111 1110 1111
    

    左移操作符<<

    定义:左移操作符规定将操作符左边的数向左移动n位(低位补0)

    求17<<2的值

    1,17左移两位后二进制为 0000 0000 0000 0000 0000 0000 0100 0100 
    2,转化为十进制为68(十进制)
    3,17<<2 = 68
    

    求-17<<2的值

    1,-17左移两位后二进制为1111 1111 1111 1111 1111 1111 1011 1100
    2,转成对应原码是      1000 0000 0000 0000 0000 0000 0100 0100
    3,转换为十进制为 -68
    4,-17<<2 = -68
    

    右移操作符>>

    定义:右移位操作符按照操作符右侧指定的位数移动n位,对于正数来说在高位插入0,对于负数的话在高位插入1

    求17>>2的值

    1,17右移两位后二进制为 0000 0000 0000 0000 0000 0000 0000 0100
    2,转化为十进制为4
    3,17>>2 = 4
    

    求-17>>2的值

    1,-17右移两位后二进制为 1111 1111 1111 1111 1111 1111 1111 1011
    2,转化为原码为 1000 0000 0000 0000 0000 0000 0000 0101
    3,十进制表示为 -5
    

    右移操作符>>>

    定义:右移位操作符按照操作符右侧指定的位数移动n位,但无论正负都在高位补0

    求17>>>2的值

    1,17右移两位后二进制为 0000 0000 0000 0000 0000 0000 0000 0100
    2,转化为十进制为4
    3,17>>2 = 4
    

    求-17>>>2的值

    1,右移后为 0011 1111 1111 1111 1111 1111 1011 1100
    2,转化为十进制为1073741819
    3,-17>>>2 = 1073741819
    

    相关文章

      网友评论

          本文标题:移位操作符

          本文链接:https://www.haomeiwen.com/subject/aolfqxtx.html