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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 零基础快速打造一个属于自己的微信聊天工具

    零基础快速打造一个属于自己的微信聊天工具

    2021年9月18日
    49
  • 车用总线技术 | J1939协议实用指南与J1939数据记录方案

    车用总线技术 | J1939协议实用指南与J1939数据记录方案“没错,这是一份SAEJ1939协议的简单、实用指南。”—虹科开篇:在这篇介绍中,我们介绍了J1939协议的基本知识,其中包括PGN和SPN。因为这是一篇偏向应用的简介,所以您还将会学习到如何通过DBC文件解码J1939数据、如何记录J1939、典型的应用案例和实用技巧。下面,来了解下这份简单易懂的J1939介绍吧~什么是J1939?J1939简介简而言之,SAEJ1939其实是一套标准,重型车辆ECU间就是按照这套标准在CAN总线上进行通信的。当今大多数车辆都通过CAN(Con…

    2022年5月1日
    647
  • 查看linux的内核版本_内核版本

    查看linux的内核版本_内核版本内核版本信息在顶层Makefile文件中lemon@ubuntu:~/Develop/OrangePi_Lite2/lichee/linux-3.10$vimMakefileVERSION=3PATCHLEVEL=10SUBLEVEL=65EXTRAVERSION=NAME=TOSSUGBabyFish

    2022年10月13日
    0
  • 完全二叉树图例_二叉树遍历图解

    完全二叉树图例_二叉树遍历图解画解二叉搜索树

    2022年10月21日
    0
  • 微软OOXML正式成为国际标准 更名为OXML

    微软OOXML正式成为国际标准 更名为OXML  近日,ISO组织宣布,由于赢得了足够的支持,微软的OOXML文档格式已被批准为全球行业标准,并将其命名更改为“OpenXML”。  为了使OOXML文档格式成为国际标准,微软一直在努力寻求各界支持,包括积极争取各国政府合同,吸引开发界开发新的应用程序软件等。去年9月,ISO在首轮投票中拒绝了OOXML成为国际标准的请求,在104个成员国中,只有53%投了赞成票,未达到成为国际标准所需的2/

    2022年7月16日
    27
  • Spring Cloud 学习笔记(2 / 3)

    Spring Cloud 学习笔记(2 / 3)SpringCloud学习笔记(1/3)SpringCloud学习笔记(3/3)—56_Hystrix之全局服务降级DefaultProperties57_Hystrix之通配服务降级FeignFallback58_Hystrix之服务熔断理论59_Hystrix之服务熔断案例(上)60_Hystrix之服务熔断案例(下)61_Hystrix之服务熔断总结62_Hystrix工作流程最后总结63_Hystrix图形化Dashboard搭建

    2022年6月2日
    30

发表回复

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

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