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

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 $$

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

http://www.jsqmd.com/news/327449/

相关文章:

  • Java毕设选题推荐:基于springboot的高校学生宿舍管理系统基于SpringBoot+Vue的高校学生宿舍管理系统【附源码、mysql、文档、调试+代码讲解+全bao等】
  • 2026年全网最佳:新手写小说最怕卡文?附3个破局技巧+7款AI写小说工具
  • 【课程设计/毕业设计】基于SpringBoot+Vue文献搜索系统的设计与实现基于springboot+bs架构的文献搜索系统的设计与实现【附源码、数据库、万字文档】
  • 【课程设计/毕业设计】基于springboot学生宿舍管理系统基于springboot的高校学生宿舍管理系统【附源码、数据库、万字文档】
  • 10款写小说软件深度横评:从AI写小说到大纲生成,谁才是真正的网文神器?
  • SpringAOP核心机制与实战技巧
  • 2026年毕业论文降AI总失败?可能是这3个坑你踩了
  • Java毕设项目:基于springboot的高校学生宿舍管理系统(源码+文档,讲解、调试运行,定制等)
  • Java毕设项目:springboot基于elasticsearch的高校科研信息管理系统(源码+文档,讲解、调试运行,定制等)
  • 【毕业设计】基于springboot的高校学生宿舍管理系统(源码+文档+远程调试,全bao定制等)
  • 2026年GEO优化排行榜:垂直领域的全维度解析
  • Reinforce算法
  • 10 HQL优化
  • [特殊字符]_可扩展性架构设计:从单体到微服务的性能演进[20260131144748]
  • [特殊字符]_内存管理深度解析:如何避免GC导致的性能陷阱[20260131145952]
  • ⚡_实时系统性能优化:从毫秒到微秒的突破[20260131143553]
  • [特殊字符]_微服务架构下的性能调优实战[20260131144150]
  • orbslam对比mast3r - MKT
  • 如何应用动作捕捉技术让户外重体力工作更安全 - 教程
  • 2026毕业论文降AI攻略:从AI率90%降到10%的完整流程
  • UC2845 二型补偿公式推导
  • 2026年DeepSeek写的论文AI率太高怎么办?3招降到10%以下
  • 2026年DeepSeek写的论文AI率太高?双引擎降AI工具3分钟搞定
  • 2026免费降AI率工具测评:嘎嘎降9大平台验证实测报告
  • 计算机Java毕设实战-基于springboot+bs架构的文献搜索系统的设计与实现文献检索系统【完整源码+LW+部署说明+演示视频,全bao一条龙等】
  • 基于区块链的AI原生应用隐私保护方案
  • 人工智能驱动的暗网开源情报工具
  • 3款降AI率工具实测对比:不达标退款的那个效果意外最好
  • 【课程设计/毕业设计】基于BS架构的个人健康管理系统的设计与实现基于springboot+BS架构的个人健康管理系统的设计与实现【附源码、数据库、万字文档】
  • 88888888