千家信息网

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

发表于:2026-11-03 作者:千家信息网编辑
千家信息网最后更新 2026年11月03日,本篇内容介绍了"Java中的位运算与移位运算有哪些"的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!位运
千家信息网最后更新 2026年11月03日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安全错误 数据库的锁怎样保障安全 小米移动互联网科技园 广州百单互联网科技有限公司 北京互联网科技 互联网金融和金融科技 老年人脱离互联网科技的作文 互联网汽车科技小镇 花神(南京)互联网科技有限公司 速维有品互联网信息科技(苏州)有限公司 电子科技大学互联网创业大赛 互联网科技圈年度人物 启辰互联网科技 广州燕处互联网科技有限公司 福建互联网展示科技馆设计 云鲸互联网络科技有限公司 中国新注册互联网科技 互联网领先科技活动 科技互联网经济论坛 杭州融税互联网科技有限公司 网互联网络科技 小牛互联网科技有限公司地址 互联网科技有限公司 广州紫鲸互联网科技有限公司 科技创新与互联网经济 圆梦互联网科技 昊天互联网科技有限公司 燊美集互联网科技有限公司 山东有哪些互联网科技公司 张召忠谈中国互联网科技 米泉互联网科技专业怎么样 深圳互联网科技园地址
    0