zoukankan      html  css  js  c++  java
  • Java中的位运算

         Java中的位运算有五种形式: 即 与 运算 &,或运算 | ,异或运算  ^ ,左移、右移运算;与运算与或运算都很好理解,异或运算就是在或运算的基础上,除了1^1=0与或运算不同,其他都与或运算相同;今天主要是想记录一下左移与右移运算:

       在Java中左移运算,就是就二进制数最高位移除掉,并在末位增加0;例如10的八位二进制0000 1010;10<<1;执行后的结果就是0100,变成了4;常用的代码形式为: n<<=1;表示n左移1位。

        Java中右移运算较左移运算稍微复杂点;其右移分为无符号右移>>>和有符号右移>>;个人理解这里的有无符号就指负数和正数,因为十进制的负数转化位二进制,是需要先将负数的绝对值转化为二进制先,然后再将其按位取反,例如-10,它的八位二进制表示就是1111 0101;也就是如果是无符号右移,那么二进制数都是“正数”;所以可以常规的在最高位补0;例如 -10>>>1;执行后的结果就是0111 1010;如果是有符号数右移则是在最高位补1;例如-10>>1;执行后的结果就是:1111 1010。

  • 相关阅读:
    Android测试入门篇
    SQL的基本知识
    正则表达式
    ES5语法
    vscode
    继承小结
    工作遇到的问题
    后台程序员的HTTP缓存
    xhr下载图片/服务器向客户端推送消息
    HTTP2.0
  • 原文地址:https://www.cnblogs.com/zwwang/p/13231378.html
Copyright © 2011-2022 走看看