Laravel  
laravel
文档
数据库
架构
入门
php技术
    
Laravelphp
laravel / php / java / vue / mysql / linux / python / javascript / html / css / c++ / c#

java 位运算

作者:——嘘丶低调   发布日期:2026-03-21   浏览:41

public class BitwiseOperations {

    public static void main(String[] args) {
        // 按位与 (&)
        int a = 5; // 二进制: 0101
        int b = 3; // 二进制: 0011
        int andResult = a & b; // 0001 (十进制: 1)
        System.out.println("a & b = " + andResult);

        // 按位或 (|)
        int orResult = a | b; // 0111 (十进制: 7)
        System.out.println("a | b = " + orResult);

        // 按位异或 (^)
        int xorResult = a ^ b; // 0110 (十进制: 6)
        System.out.println("a ^ b = " + xorResult);

        // 按位取反 (~)
        int notA = ~a; // 取反后,由于Java中整数是带符号的,所以结果为负数
        System.out.println("~a = " + notA);

        // 左移 (<<)
        int leftShift = a << 1; // 1010 (十进制: 10)
        System.out.println("a << 1 = " + leftShift);

        // 右移 (>>)
        int rightShift = a >> 1; // 0010 (十进制: 2)
        System.out.println("a >> 1 = " + rightShift);

        // 无符号右移 (>>>)
        int unsignedRightShift = a >>> 1; // 0010 (十进制: 2),对于正数,无符号右移和右移效果相同
        System.out.println("a >>> 1 = " + unsignedRightShift);
    }
}

解释说明:

  1. 按位与 (&):两个位都为1时,结果才为1。例如 0101 & 0011 结果为 0001
  2. 按位或 (|):只要有一个位为1,结果就为1。例如 0101 | 0011 结果为 0111
  3. 按位异或 (^):两个位不同则结果为1。例如 0101 ^ 0011 结果为 0110
  4. 按位取反 (~):将每个位取反。例如 ~0101 结果为 1010,但由于Java中整数是带符号的,所以结果为负数。
  5. 左移 (<<):将所有位向左移动指定的位数,右边补0。例如 0101 << 1 结果为 1010
  6. 右移 (>>):将所有位向右移动指定的位数,左边补符号位(正数补0,负数补1)。例如 0101 >> 1 结果为 0010
  7. 无符号右移 (>>>):将所有位向右移动指定的位数,左边补0。例如 0101 >>> 1 结果为 0010,对于正数,无符号右移和右移效果相同。

上一篇:java 定义数组

下一篇:java排序

大家都在看

java url decode

java判断是windows还是linux

java连接数据库的代码

java date类型比较大小

java djl

ubuntu 卸载java

es java api

java list 查找

java 解压rar

java读取excel中的图片

Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3

Laravel 中文站