java中位运算和移位运算详解[通俗易懂]

java中位运算和移位运算详解[通俗易懂] 一、位运算(1)按位与&如果两个相应的二进制形式的对应的位数都为1,则结果为1,记为同1为1,否则为0。首先我们看一下对正数的运算  &nbs

大家好,又见面了,我是你们的朋友全栈君。

  一、位运算

(1)按 位 与 &

如果两个相应的二进制形式的对应的位数都为1,则结果为1,记为同1为1,否则为0。首先我们看一下对正数的运算

java中位运算和移位运算详解[通俗易懂]      java中位运算和移位运算详解[通俗易懂]

 

分别看一下正数和负数的具体运算步骤

         java中位运算和移位运算详解[通俗易懂]      java中位运算和移位运算详解[通俗易懂]   

正数直接取二进制运算,负数取反加一得补码再运算,得到的结果符号位为0,不需要做任何操                                                                                                                                    作直接给出结果,后面会讲到如果结果为负数的情况

 

(2)按位或 |

  有1为1,否则为0

java中位运算和移位运算详解[通俗易懂]        java中位运算和移位运算详解[通俗易懂]

 

分别看一下正数和负数的具体运算步骤

java中位运算和移位运算详解[通俗易懂]       java中位运算和移位运算详解[通俗易懂]

讲一下负数求反和补码的直接给结果,当运算结果符号位是1为负数,那就需要进行减1操作,再按位取反,这个时候得到的才是正确的结果

 

(3)异或 ^

相同为0,不同为1

 java中位运算和移位运算详解[通俗易懂]      java中位运算和移位运算详解[通俗易懂]

二、移位运算

(1)左 移 (<< )

 右边空出的位用0填补高位左移溢出则舍弃该高位。计算机中常用补码表示数据,注,用补码计算

 java中位运算和移位运算详解[通俗易懂]      java中位运算和移位运算详解[通俗易懂]

(2)右 移 (>> )

 左边空出的位用0或者1填补。正数用0填补,负数用1填补。注:不同的环境填补方式可能不同;低位右移溢出则舍弃该位。

 java中位运算和移位运算详解[通俗易懂]       

(3)无 符 号 右 移 (>>> )

 无符号右移:正数与右移规则一样,负数的无符号右移,就是相应的补码移位所得,在高位补0即可

 java中位运算和移位运算详解[通俗易懂]       

java中位运算和移位运算详解[通俗易懂]

 

 

         

原文地址:https://www.cnblogs.com/xiuyu/p/8428963.html

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/154880.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 记一次kubernetes Evicted的处理[通俗易懂]

    记一次kubernetes Evicted的处理[通俗易懂]背景:事情这样的:kubernetes1.21.3集群。容器运行时containerd。除了K8s-node-06节点。保留这个docker节点有很多原因。比如当时没有想好用什么打包镜像。默认让jenkins打包镜像。还有就是我的gitlab10.8.7版本contarinerd运行时下无法启动。就保留了这个节点运行gitlabpod。当然了也把这个节点设置为了不可调度。不相其他应用调度到这个节点上来!最近一段时间gitlab应用频繁出现Evicted的问题:这样就陷入了一个死循环:我的k8s-

    2022年5月17日
    51
  • PAT乙级——Java合集

    PAT乙级——Java合集简介添加链接描述  刷PAT完全是闲的时候打发时间的,感觉还蛮有意思,有空了就写几道,基本都是Java实现的,目前为止才刷了五十多道题目,等刷完继续LeetCode,这里也会持续更新的。合集PAT1001害死人不偿命的(3n+1)猜想(15分)PAT1002写出这个数(20分)(Java)PAT1003我要通过!(20分)(Java)PAT1004成绩排名(20分)(Java实现)PAT1005继续(3n+1)猜想(25分)(Java)

    2022年6月13日
    26
  • 稀疏矩阵的十字链表存储的思路

    稀疏矩阵的十字链表存储的思路刚才终于完完全全、彻彻底底的搞明白了稀疏矩阵十字链表的存储方式的实现与该算法的思想。我觉得有必要把自己的思路记下来,一呢等自己将来忘记了可以回过头来看,二呢希望与我一样对该存储方式迷惑的朋友可以通过我的文章得到一点点的启示。现在进入正题。       我们知道稀疏矩阵的三元组

    2022年6月18日
    28
  • P1396 营救_p1336燃烧失火

    P1396 营救_p1336燃烧失火P1396营救218通过571提交题目提供者yeszy标签二分图论并查集福建省历届夏令营难度普及-题目描述“咚咚咚……”“查水表!”原来是查水表来了,现在哪里找这么热心上门的查表员啊!小明感动的热泪盈眶,开起了门……妈妈下班回家,街坊邻居说小明被一群陌生人强行押上了警车!妈妈丰富的…

    2022年8月12日
    4
  • SQL Server 2008 评估期已过解决方法

    SQLServer2008有180天的试用期,过期后会提示“评估期已过”的提示。1、进入SQLServer安装中心:2、选择“维护”-“版本升级”3、输入密钥:其他的根据提示操作。附S

    2021年12月23日
    59
  • 获取activexobject对象失败_在各种管理对象中最重要的是

    获取activexobject对象失败_在各种管理对象中最重要的是JavaScript中ActiveXObject对象是启用并返回Automation对象的引用

    2022年10月14日
    4

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号