news 2026/4/23 16:03:20

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/4/22 22:56:46

排查流程啊啊啊

基于已有的 export_onnx.py 方法和 onnx_postprocess_fix_slice.py 方法和train2.py 的修改网络结构&冻结backbone训练&#xff0c;为了解决slice问题&#xff0c;我该采用怎么样的排查流程或者排查顺序&#xff1f; 下面给你一个最稳妥、成本最低的排查顺序&#xff08;从…

作者头像 李华
网站建设 2026/4/23 13:57:31

高级网络安全爬虫/蜘蛛

Spider Suite 是一款面向网络安全专业人员的先进跨平台、多功能图形用户界面网络爬虫/网络爬虫工具。它可用于攻击面映射和分析。更多信息请访问 Spider Suite网站。 安装和使用 Spider Suite 的设计旨在方便安装和使用&#xff0c;即使是新手也能轻松上手。 首先&#xff0c;下…

作者头像 李华
网站建设 2026/4/17 19:25:22

Java计算机毕设之基基于BS模式文献搜索系统的设计与实现于springboot+bs架构的文献搜索系统的设计与实现(完整前后端代码+说明文档+LW,调试定制等)

博主介绍&#xff1a;✌️码农一枚 &#xff0c;专注于大学生项目实战开发、讲解和毕业&#x1f6a2;文撰写修改等。全栈领域优质创作者&#xff0c;博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围&#xff1a;&am…

作者头像 李华
网站建设 2026/4/23 1:05:58

Java毕设选题推荐:基于Java web的电影院选票系统电影场次编号、电影名称、该场次电影单价、播放日期、播放时间段、所在放映厅、放映厅座位当【附源码、mysql、文档、调试+代码讲解+全bao等】

博主介绍&#xff1a;✌️码农一枚 &#xff0c;专注于大学生项目实战开发、讲解和毕业&#x1f6a2;文撰写修改等。全栈领域优质创作者&#xff0c;博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围&#xff1a;&am…

作者头像 李华
网站建设 2026/4/17 18:53:40

Java多线程编程技巧:面试必看的几种实现方式!

文章目录 Java多线程编程技巧&#xff1a;面试必看的几种实现方式&#xff01;为什么我们需要多线程&#xff1f;Java多线程的实现方式1. 继承Thread类2. 实现Runnable接口3. 实现Callable接口4. 使用线程池&#xff08;ThreadPoolExecutor&#xff09;5. 并行流&#xff08;Ja…

作者头像 李华