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

java位运算

作者:农村混血兒   发布日期:2026-04-06   浏览:1

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; // 结果: 取决于整数的位数,对于32位整数,结果为 -6
        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;相同时,结果为0。例如 0101 ^ 0011 的结果是 0110
  4. 位取反 (~):将每个二进制位取反,即0变为1,1变为0。例如 ~0101 的结果取决于整数的位数(对于32位整数,结果为 -6)。
  5. 左移 (<<):将所有二进制位向左移动指定的位数,右边补0。例如 0101 << 1 的结果是 1010
  6. 右移 (>>):将所有二进制位向右移动指定的位数,左边补符号位(对于正数补0,负数补1)。例如 0101 >> 1 的结果是 0010
  7. 无符号右移 (>>>):将所有二进制位向右移动指定的位数,左边始终补0。例如 0101 >>> 1 的结果是 0010

上一篇:java 遍历list

下一篇: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 中文站