package com.jingsong.test;
/**
* @author jingsong
* @date 2022/4/26 22:39
* @desc 介绍位运算符
*/
public class BitwiseTest {
public static void main(String[] args) {
/*
int的长度是4个字节,即:
00000000 00000000 00000000 00000000
*/
/*
负数的二进制 (正数的二进制 -> 取反 -> +1) ,例如:-10
1. 10 00000000 00000000 00000000 00001010
2. ! 11111111 11111111 11111111 11110101
3. +1 11111111 11111111 11111111 11110110
*/
int a = 9;// 00001001
int b = 5;// 00000101
// 1. & 两个都为1才行
System.out.println(a & b);
// 2. | 有一个1就行
System.out.println(a | b);
// 3. ^ 两个不一样就行
System.out.println(a ^ b);
// 4. ~ 记住 ~b = -(b+1) ps:就是把0和1全部交换,颠倒是非
System.out.println(~b);
// 5. << n 左移n位 (左移1位*2 、 左移2位*2*2 、 左移3位*2*2*2 ……)
System.out.println(a << 29);
// 6. >> n 同5
System.out.println(-1 >> 31);
// 7. >>> 无符号右移,最高位始终补0
System.out.println(-2 >>> 1);
/*
简单记
>> 和 << 都是相对于原来数整倍的改变,>>>的正数情况下也是
*/
}
}
utils007_位运算符
最新推荐文章于 2025-11-26 15:59:01 发布
本文介绍了Java中的位运算符,包括按位与(&), 按位或(|), 按位异或(^), 按位取反(~), 左移(<<), 右移(>>)以及无符号右移(>>>)。通过实例展示了它们在整数二进制表示中的应用。
2270

被折叠的 条评论
为什么被折叠?



