iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > Python >Java中的位运算与移位运算详解
  • 825
分享到

Java中的位运算与移位运算详解

2024-04-02 19:04:59 825人浏览 八月长安

Python 官方文档:入门教程 => 点击学习

摘要

目录位运算按位“与” &按位“或” |异或 ^移位运算左移 <<右移 >>无符号右移 >>>总结位运算 按位“与” &

位运算

按位“与” &

规则: 如果两个相应的二进制形式的对应的位数都为 1,则结果为 1;否则为 0;

4 & 5

4

0000 0100

5

0000 0101

按位与运算

&

4 & 5 = 4

0000 0100

1 * 2^2 = 4

-4 & 5

-4

1111 1100

5

0000 0101

按位与运算

&

规则:运算结果符号位是1,为负数, 需要减 1,再取反(其他运算也要遵循)

-4 & 5 = 4

0000 0100

1 * 2^2 = -4

1.正数直接取二进制运算

2.负数取反加一得补码再运算,得到的结果符号位为 0,不需要做任何操作直接给出结果

按位“或” |

规则: 有 1 为 1;否则为 0;

4 | 5

4

0000 0100

5

0000 0101

按位或运算

|

4 | 5 = 5

0000 0101

1 * 2^0 + 1 * 2^2 = 5

-4 | 5

-4

1111 1100

5

0000 0101

按位或运算

|

规则:运算结果符号位是1,为负数, 需要减 1,再取反(其他运算也要遵循)

-4 | 5 =

1111 1101

减1

1111 1100

取反

-0000 0011

-4 | 5 = -3

1 * 2^0 + 1 * 2^1 = -3

异或 ^

规则: 相同为 0;不同为 1;

4 ^ 5

4

0000 0100

5

0000 0101

按位异或运算

^

4 ^ 5 = 1

0000 0001

1 * 2^0 = 1

-4 ^ 5

-4

1111 1100

5

0000 0101

按位异或运算

^

规则:运算结果符号位是1,为负数, 需要减 1,再取反(其他运算也要遵循)

-4 ^ 5 =

1111 1001

减1

1111 1000

取反

-0000 0111

-4 ^ 5 = -7

1 * 2^0 + 1 * 2^1 + 1 * 2^2 = -7

移位运算

左移 <<

规则: 右边空出的位用 0 填补高位,左移溢出则舍弃该高位。

8 << 2

8

0000 1000

<< 2

0010 0000

左移运算符

<<

结果

8 << 2 = 32

1 * 2^5 = 32

-8 << 2

-8

1111 1000

<< 2

1110 0000

左移运算

<<

规则:运算结果符号位是1,为负数, 需要减 1,再取反(其他运算也要遵循)

减1

1101 1111

取反

-0010 0000

-8 << 2 = -32

1 * 2^5 = -32

右移 >>

规则: 左边空出的位正数用 0 负数 1 填补,右移溢出则舍弃该低位。

8 >> 2

8

0000 1000

>> 2

0000 0010

左移运算符

>>

结果

8 >> 2 = 2

1 * 2^1 = 2

-8 >> 2

-8

1111 1000

>> 2

1111 1110

左移运算

>>

规则:运算结果符号位是1,为负数, 需要减 1,再取反(其他运算也要遵循)

减1

1111 1101

取反

-0000 0010

-8 >> 2 = -2

1 * 2^1 = -2

无符号右移 >>>

规则: 正数与右移规则一样;负数无符号右移,在高位补 0

8 >>> 2

8

0000 1000

>> 2

0000 0010

无符号右移运算符

>>>

结果

8 >>> 2 = 2

1 * 2^1 = 2

-8 >>> 2

-8

1111 1111 1111 1111 1111 1111 1111 1000

>>> 2

0011 1111 1111 1111 1111 1111 1111 1110

无符号右移运算符

>>>

规则:运算结果符号位是1,为负数, 需要减 1,再取反(其他运算也要遵循)

减1

-

取反

-

-8 >>> 2 = 1073741822

1073741822

总结

本篇文章就到这里了,希望能够给你带来帮助,也希望您能够多多关注编程网的更多内容!

--结束END--

本文标题: Java中的位运算与移位运算详解

本文链接: https://www.lsjlt.com/news/160670.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Java 中的位运算与移位运算详解
    位运算和移位运算是 Java 中常用的运算符,用于对数字的位进行操作。下面是位运算与移位运算的详细解释:1. 位运算符:- 按位与(...
    99+
    2023-08-14
    Java
  • Java中的位运算与移位运算详解
    目录位运算按位“与” &按位“或” |异或 ^移位运算左移 <<右移 >>无符号右移 >>>总结位运算 按位“与” & ...
    99+
    2024-04-02
  • Java中的位运算与移位运算有哪些
    本篇内容介绍了“Java中的位运算与移位运算有哪些”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!位运算按位“与” &规则: 如果两个...
    99+
    2023-06-22
  • Java中的位运算与移位运算有什么不同
    位运算和移位运算都是Java中常用的操作符,但它们执行的操作是不同的。位运算(bitwise operation)是直接对操作数的每...
    99+
    2023-08-15
    Java
  • 详解Java的位运算
    目录位运算代码演示代码结果位运算的应用位运算 很久以前学习过位运算,但是很久不用,感觉都忘得差不多了。最近看了几处位运算的代码,发现都看不懂了,哈。也是时候回来补一补基础知识了。 程...
    99+
    2023-05-15
    Java位运算 Java运算
  • Java利用位运算实现加减运算详解
    目录前言思路分析示例位运算进位初步结果去除加号整体思路加法代码实现减法实现减法分析减法代码实现总结前言 本文主要介绍如何使用位运算来实现加减功能,也就是在整个运算过程中不能出现加减符...
    99+
    2022-12-31
    Java位运算实现加减运算 Java 加减运算 Java位运算
  • Java利用位运算实现乘法运算详解
    目录前言正文十进制相乘二进制相乘思路分析代码实现总结前言 在上一篇中,我们介绍了使用位运算实现加法和减法运算,接下来本文主要介绍如何用位运算实现乘法运算,在实现乘法时要用位运算实现,...
    99+
    2023-05-15
    Java位运算实现乘法运算 Java位运算 乘法运算 Java位运算
  • Java中的位运算符全解
    目录1. &(按位与运算符)2. |(按位或运算符)3. ^(异或运算符)4. <<(左移运算符)5. >> (右移移运算符)6. ~(取反运算符)7...
    99+
    2024-04-02
  • java中移位运算符怎么使用
    Java中的移位运算符有三种:左移位运算符()和无符号右移位运算符(>>>)。它们用于将一个二进制数向左或向右移动指定的位数。1. ...
    99+
    2023-09-26
    java
  • c语言中的移位运算符
    移位运算符在程序设计中,是位操作运算符的一种。移位运算符可以在二进制的基础上对数字进行平移。 c语言中提供了两种移位运算符: 左移运算符:<< 右移运算符:>&...
    99+
    2024-04-02
  • java移位运算的规则有哪些
    Java中的移位运算有三种形式:左移运算()和无符号右移运算(>>>)。1. 左移运算(> 1得到-1,即-2的二进制表示为1111...
    99+
    2023-08-24
    java
  • java移位运算规则有哪些
    Java中的移位运算符包括:1. > 右移运算符:将操作数的二进制表示向右移动指定的位数,高位补符号位(正数补0,负数补1)。3. ...
    99+
    2023-06-10
    java移位运算 java
  • java移位运算规则是什么
    Java中的移位运算规则如下:1. 左移运算符(> b`,将`a`的所有位向右移动`b`个位置。3. 无符号右移运算符(>>>):将...
    99+
    2023-08-29
    java
  • Java三种移位运算符原理解析
    Java中有三种移位运算符:左移运算符()和无符号右移运算符(>>>)。1. 左移运算符():将一个数的所有位向右移动指定的位数,高...
    99+
    2023-08-17
    Java
  • java移位的运算规则是什么
    Java中移位运算有三种:左移运算()和无符号右移运算(>>>)。1. 左移运算(> 2 = 3,即12右移2位等于3。3. 无符号...
    99+
    2023-09-21
    java
  • java中有哪些位运算
    java中有哪些位运算?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。Java可以用来干什么Java主要应用于:1. web开发;2. Android开发;3. 客户端开发;...
    99+
    2023-06-14
  • Java移位运算符的原理是什么
    Java的移位运算符用于对整数类型的数据进行左移和右移操作。移位运算符包括左移运算符()和无符号右移运算符(>>>)。左移运算符(2...
    99+
    2023-08-18
    Java
  • C#中有哪些移位运算符
    今天就跟大家聊聊有关C#中有哪些移位运算符,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。C#移位运算符中的<< 和 >> 运算符用于执行移位运算。shift-...
    99+
    2023-06-18
  • JavaScript位运算符怎么运算的
    JavaScript中的位运算符用于对数字的二进制表示进行操作。下面是常见的位运算符及其运算方式:1. 按位与(&):对两个数字的每...
    99+
    2023-10-11
    JavaScript
  • python位运算符如何运算
    Python中的位运算符包括:与运算(&)、或运算(|)、异或运算(^)、取反运算(~)、左移运算()。下面是每个位运算符的运算规则...
    99+
    2023-10-11
    python
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作