zoukankan      html  css  js  c++  java
  • JAVA 右移运算符>>和>>>

    java提供两种右移运算符,属于位运算符。位运算符用来对二进制位进行操作。
    >>  :算术右移运算符,也称带符号右移。用最高位填充移位后左侧的空位。
    >>>:逻辑右移运算符,也称无符号右移。只对位进行操作,用0填充左侧的空位。
     
    表达式为:
    r = e1 >> e2;
    r = e1 >>> e2;
    表示把数e1向右移动e2位。
     
    运算规则:
    >>  :按二进制形式把所有的数字向右移动对应位数,低位移出(舍弃),高位的空位补符号位,即正数补零,负数补1。符号位不变。
    >>>:按二进制形式把所有的数字向右移动对应位数,低位移出(舍弃),高位的空位补零。对于正数来说和带符号右移相同,对于负数来说不同。
     
    按上一篇,-1在32位二进制中表示为:
    11111111 11111111 11111111 11111111
    -1>>1:按位右移,符号位不变,仍旧得到
    11111111 11111111 11111111 11111111
    因此值仍为-1
     
    而-1>>>1的结果为  01111111 11111111 11111111 11111111
  • 相关阅读:
    Dockerfile文件详解
    docker-compose.yml文件
    Linux集中日志服务器rsyslog
    数据库连接池DBUtils使用
    js开关插件使用
    flask基础
    redis系列--深入哨兵集群
    Python算法基础
    redis系列--主从复制以及redis复制演进
    redis系列--redis4.0深入持久化
  • 原文地址:https://www.cnblogs.com/mithrandirw/p/8670859.html
Copyright © 2011-2022 走看看