千家信息网

Java中的位运算与移位运算有哪些

发表于:2025-11-13 作者:千家信息网编辑
千家信息网最后更新 2025年11月13日,本篇内容介绍了"Java中的位运算与移位运算有哪些"的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!位运
千家信息网最后更新 2025年11月13日Java中的位运算与移位运算有哪些

本篇内容介绍了"Java中的位运算与移位运算有哪些"的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!

    位运算

    按位"与" &

    规则: 如果两个相应的二进制形式的对应的位数都为 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

    "Java中的位运算与移位运算有哪些"的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注网站,小编将为大家输出更多高质量的实用文章!

    运算 规则 结果 符号 负数 运算符 正数 高位 二进制 内容 更多 知识 空出 不同 实用 相同 学有所成 接下来 两个 位数 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 如何搞疯一个服务器方舟生存进化 集中服务器批量管理软件 java软件开发教程下载 周村微信小程序软件开发咨询 原神特典活动怎么选服务器 软件开发中怎么选数据库 html共享服务器文件管理 国泰安经济研究数据库 计算机网络技术需要物理学吗 视频监控的服务器要续费吗 网络安全宣传周 口号 lT行业软件开发 如何联系EI数据库 软件开发文档(国标) 专科选软件开发怎么样 饥荒服务器怎么给管理员权限 云拓客服务器怎么样 是否可以通过服务器下载源代码 联想服务器管理地址配置 如需访问该服务器的ftp资源 保定 网络安全 南方手簿x3登陆服务器上不去 坦克世界服务器不可用 数据库的表如何编辑 中转服务器内存一直升高怎么释放 2003系统服务器版 网络安全 实验室名录 学习网络安全心得体会400字 软件开发要学习的语言 金万维域名服务器地址
    0