当前位置: 首页 > news >正文

JAVA-位运算

按位与(&)

规则:对应位都为 1,结果才为 1,否则为 0。

int a = 5;  // 二进制:0101
int b = 3;  // 二进制:0011
int result = a & b; // 结果:0001,即 1
System.out.println(result); // 输出:1

按位或(|)

规则:对应位只要有一个为 1,结果为 1,否则为 0。

int a = 5;  // 二进制:0101
int b = 3;  // 二进制:0011
int result = a | b; // 结果:0111,即 7
System.out.println(result); // 输出:7

按位异或(^)

规则:对应位不同,结果为 1,相同为 0。

int a = 5;  // 二进制:0101
int b = 3;  // 二进制:0011
int result = a ^ b; // 结果:0110,即 6
System.out.println(result); // 输出:6

按位取反(~)

规则:0 变 1,1 变 0

int a = 5;  // 二进制:0000 0101
int result = ~a; // 结果:1111 1010,即 -6
System.out.println(result); // 输出:-6

左移位(<<)

规则:将数的二进制位左移指定的位数,右侧补 0。

int a = 5;  // 二进制:0000 0101
int result = a << 2; // 左移两位,结果:0001 0100,即 20
System.out.println(result); // 输出:20

右移位(>>)

规则:将数的二进制位右移指定的位数,左侧补符号位(正数补 0,负数补 1)。

int a = -20;  // 二进制表示:1111 1110 1100
int result = a >> 2; // 结果:1111 1111 1011,即 -5
System.out.println(result); // 输出:-5

无符号右移位(>>>)

规则:将数的二进制位右移指定的位数,左侧始终补 0。


int a = -20;
int result = a >>> 2; // 结果:1073741819
System.out.println(result); // 输出:1073741819

相关文章:

  • 【ArcGIS】ArcGIS10.8安装过程(失败记录)
  • 《线程池:Linux平台编译线程池动态库发生的死锁问题》
  • JAVA-序列化与反序列化
  • 【机器学习】模型拟合
  • 【合新通信】---RF over fiber
  • linux sh脚本关于返回字符串调试问题(adb shell)
  • MySQL 安全传输
  • GenICam标准
  • Java基于SSM的农业电商服务系统小程序【附源码、文档说明】
  • 《港口危货储存单位主要安全管理人员》考试资料及答案解析
  • 七天MySQL密集学习计划
  • Cursor解锁Claude Max,助力AI编程新突破!
  • Linux常用指令(1)
  • 记一次MyBatis分页莫名其妙的失效,首次执行合适,后续执行分页失效且异常
  • 三阴性乳腺癌化疗和PD-L1联合阻断的独特细胞机制(文献)
  • 3. 轴指令(omron 机器自动化控制器)——>MC_ImmediateStop
  • ffmpeg库硬解码使用流程
  • Java高频面试之集合-15
  • SVN简明教程——下载安装使用
  • 【数据分析】数据筛选(布尔索引:一个判断条件)
  • 应急管理部派出工作组赴山西太原小区爆炸现场指导救援处置
  • 首映|“凤凰传奇”曾毅:拍电影,我是认真的
  • 从“网点适老化”到“社区嵌入式”,“金融为老上海模式”如何探索?
  • 我国核电总体规模首次跃居世界第一,发电量持续增长
  • “世纪火种”嘉年华启动,69家单位加入阅读“朋友圈”
  • 魔都眼·上海车展⑥|周六客流超13.5万人次,创开展新高