`
wudijb
  • 浏览: 2179 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

记录java位运算的一些用途

阅读更多
1.  判断int型变量a是奇数还是偶数   
     a&1  = 0 偶数
     a&1 =  1 奇数
2.  求平均值,比如有两个int类型变量x、y,首先要求x+y的和,再除以2,但是有可能x+y的结果会超过int的最大表示范围,所以位运算就派上用场啦。
      (x&y)+((x^y)>>1);
3.  对于一个大于0的整数,判断它是不是2的几次方
    ((x&(x-1))==0)&&(x!=0);
4.  比如有两个int类型变量x、y,要求两者数字交换,位运算的实现方法:性能绝对高效
    x ^= y;
    y ^= x;
    x ^= y;
5. 求绝对值
    int abs( int x )
   {
     int y ;
     y = x >> 31 ;
    return (x^y)-y ;        //or: (x+y)^y
   }
6.  取模运算,采用位运算实现:
     a % (2^n) 等价于 a & (2^n - 1)
7.  乘法运算   采用位运算实现
     a * (2^n) 等价于 a << n
8.   除法运算转化成位运算
      a / (2^n) 等价于 a>> n
9.   求相反数
      (~x+1)
10  a % 2 等价于 a & 1
分享到:
评论

相关推荐

    Java异或运算(简单的加密,解密)

    总结来说,这些Java代码示例涵盖了异或运算的基本概念,以及它在数据加密、调试和优化算法中的用途。理解并熟练运用这些知识对于编写高效、安全的Java程序至关重要。在实际项目中,你可以根据需求选择合适的工具和...

    JAVA多功能计算器

    例如,将一个十进制数字转换为二进制,我们可以使用模运算和除法,不断将十进制数除以2并记录余数,直到商为0。反之,从二进制转十进制,则需要对每个二进制位乘以2的相应幂次然后求和。对于八进制和十六进制,我们...

    Java内存监视器.rar

    3. **Java Flight Recorder (JFR)** 和 **Java Mission Control (JMC)**:这两个是Oracle提供的高级诊断和监控工具,可以详细记录和分析应用程序的运行情况,包括内存使用。 4. **代码内置监控**:像描述中提到的,...

    28个java常用的工具类

    以下是28个Java开发者经常使用的工具类的概述,这些工具类涵盖了广泛的用途: 1. **`java.util.Arrays`**: 这个类提供了对数组进行排序、查找、复制等操作的方法,如`Arrays.sort()`用于排序数组,`Arrays.asList()...

    java2实用教程电子教案

    - **位运算符**:按位与(`&`)、按位或(`|`)、按位异或(`^`)、按位取反(`~`)、左移(`)、右移(`&gt;&gt;`)、无符号右移(`&gt;&gt;&gt;`)。 - **赋值运算符**:赋值(`=`)及其组合形式(如`+=`、`-=`等)。 ##### 3.2 语句 - **控制...

    java几个常用的jar包

    Javolution是一个高性能的Java库,提供了集合框架、日期时间、国际化、数学运算、XML处理等功能。它的设计目标是提高Java应用的运行速度和响应时间,特别是在实时系统和嵌入式环境中。Javolution的亮点包括其内存...

    中国象棋源代码(Java)

    同时,数据结构的选择也很关键,例如,使用位运算或链表来高效地表示棋盘状态和棋子位置。 7. **测试与调试**: - 开发过程中,单元测试和集成测试是必不可少的,以确保代码的正确性和稳定性。JUnit是Java中常用的...

    java编写的计算器

    此外,可能还需要实现一些高级功能,如历史记录、内存存储等。 在开发过程中,我们可能使用集成开发环境(IDE),如Eclipse、IntelliJ IDEA或NetBeans,它们提供了代码自动完成、调试和项目管理等功能,大大提高了...

    Java版中国象棋项目设计论文和源码

    2.3 位棋盘的基本运算 12 2.4 Java中位棋盘的实现 13 第三章 基本数据结构——Zobrist键值 17 3.1 比较局面的方法 17 3.2 Zobrist键值的实现方法 17 3.3 Zobrist键值的工作原理及用途 17 3.4 Java中实现Zobrist键值 ...

    java面试题题库详解

    - **按位与 (&) 和按位或 (|):** 对应位上的按位逻辑运算。 - **短路按位与 (&&) 和短路按位或 (||):** 短路逻辑运算。 #### 45. new 关键字的作用 **知识点概述:** - **创建对象:** 使用 `new` 关键字创建...

    JAVA 面试题集 pdf

    这三个关键字在Java中有完全不同的含义和用途。 **详细解释:** 1. **`final`:** - 用于声明不可变的类、方法或变量。 - 用于定义常量,确保数据的安全性和不变性。 2. **`finally`:** - 在异常处理中使用,...

    JAVA常用英文

    注释,用于解释代码意图或用途的文字,有助于代码的维护和阅读。 ### compile 编译,将源代码转换成机器可执行格式的过程,Java中的编译结果为字节码。 ### constant 常量,其值在程序执行过程中不会改变的变量...

    Java常用单词表.pdf

    以下是对该部分内容的详细解读,按照知识的类别和用途进行区分。 1. 基础关键字和类型: - Java中的关键字用于执行特定任务,如`public`表示访问权限;`static`表示静态;`void`表示无返回值等。 - 数据类型包括`...

    这是一个用Java语言编写的拼图游戏.zip

    同时,使用Javadoc来记录函数和类的用途,便于其他开发者理解和使用。 综上所述,这个Java拼图游戏项目涵盖了Java GUI编程、图像处理、算法应用、设计模式以及良好的编程实践等多个方面,对于学习和提升Java编程...

Global site tag (gtag.js) - Google Analytics