news 2026/5/1 9:42:38

Java算术与移位操作符实战指南

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Java算术与移位操作符实战指南

Java操作符进阶:算术与移位操作符解析

一、算术操作符

Java的算术操作符用于基本数学运算:

int a = 10, b = 3; System.out.println(a + b); // 13 System.out.println(a - b); // 7 System.out.println(a * b); // 30 System.out.println(a / b); // 3 (整数除法截断) System.out.println(a % b); // 1 (取模)

注意点

  1. 整数除法会丢弃小数部分
  2. 取模运算结果符号与被除数一致
  3. 浮点数运算存在精度问题:
    double c = 0.1, d = 0.2; System.out.println(c + d); // 0.30000000000000004
二、移位操作符

移位操作符直接操作二进制位:

  1. 左移(<<)
    低位补0,相当于乘2的n次方

    int x = 8; // 二进制: 1000 System.out.println(x << 2); // 32 (二进制: 100000)
  2. 带符号右移(>>)
    高位补符号位,相当于除2的n次方(向下取整)

    int y = -8; // 111...1000 (补码) System.out.println(y >> 2); // -2 (保留符号位)
  3. 无符号右移(>>>)
    高位补0,无符号处理

    int z = -8; System.out.println(z >>> 2); // 1073741822 (高位补0)
三、综合应用
// 快速乘2的幂次 int num = 7; int doubled = num << 1; // 14 // 提取特定位 int flags = 0b1101; int thirdBit = (flags >> 2) & 1; // 1 // 高效实现2^n int power = 1 << 10; // 1024
四、注意事项
  1. 移位超过数据类型长度时,实际位移数为n % 32(int)或n % 64(long)
  2. 浮点数不能直接使用移位操作符
  3. 复合赋值操作符(如<<=)可提升代码简洁性

重要公式

  • 左移等价乘法:$$ a << n = a \times 2^n $$
  • 右移等价除法:$$ a >> n = \lfloor a / 2^n \rfloor $$

通过深入理解位操作,可显著提升算法效率和底层控制能力。建议通过二进制转换工具验证实际位变化。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/1 7:58:20

[特殊字符]_微服务架构下的性能调优实战[20260131144150]

作为一名经历过多个微服务架构项目的工程师&#xff0c;我深知在分布式环境下进行性能调优的复杂性。微服务架构虽然提供了良好的可扩展性和灵活性&#xff0c;但也带来了新的性能挑战。今天我要分享的是在微服务架构下进行性能调优的实战经验。 &#x1f4a1; 微服务架构的性…

作者头像 李华
网站建设 2026/5/1 5:11:49

[特殊字符]_内存管理深度解析:如何避免GC导致的性能陷阱[20260131145952]

作为一名经历过无数性能调优案例的工程师&#xff0c;我深知内存管理对Web应用性能的影响有多大。在最近的一个项目中&#xff0c;我们遇到了一个棘手的性能问题&#xff1a;系统在高并发下会出现周期性的延迟飙升&#xff0c;经过深入分析&#xff0c;发现问题根源竟然是垃圾回…

作者头像 李华
网站建设 2026/5/1 7:54:17

Reinforce算法

目录 一、Reinforce介绍 二、REINFORCE baseline 三、证明为啥可以降低方差 1.计算策略梯度的方差 2.先处理第二项 ​编辑 3.所以上述相当于找到b优化第一项 四、证明重要性质 五、示例代码 1.解释 2.Reinforce解释 3.代码 一、Reinforce介绍 最原始的 REINFORCE …

作者头像 李华
网站建设 2026/3/27 23:43:42

2026年毕业论文降AI总失败?可能是这3个坑你踩了

改了三遍&#xff0c;AI率还是55%。 我当时真的想砸电脑。明明每段都改过了&#xff0c;检测报告里标红的地方也全部重写了&#xff0c;结果AI率不降反升。 后来才搞明白&#xff0c;毕业论文降AI总失败&#xff0c;不是你不够努力&#xff0c;是方法根本就错了。今年检测系统…

作者头像 李华