【剑指offer知识点】Java中位运算的5个常用技巧函数

简介: 【剑指offer知识点】Java中位运算的5个常用技巧函数

[1] 总览


  以下是可以提高代码逼格,而且比较好记的5个位运算技巧目录:

  1、整数n乘以2

  2、整数n乘以2的m次方

  3、判断数字n的奇偶

  4、不用临时变量交换整数n与整数m

  5、求两个整数n和m的平均值

[2] 整数n乘以2


  只适用于整数(负整数、0、正整数):

int f( int n ) { //计算n*2 
     return n << 1 ;
}

浮点数的移位没有意义,因为它的bits都有特殊含义,移位则直接改变本质了。

[3] 整数n乘以2的m次方


  只适用于整数(负整数、0、正整数):

int f( int n, int m ) { //计算n*(2^m)
     return n << m ;
}

[4] 判断整数n的奇偶


  只适用于整数(负整数、0、正整数):

boolean f( int n ) {
     return  (n  &  1 )  ==  1 ;
}

返回true是奇数,返回false是偶数。

[5] 不用临时变量交换整数n与整数m


  只适用于整数(负整数、0、正整数):

m  ^= n ;
n  ^= m ;
m  ^= n ;

首先有个原理需要知道:

若a ^ b = c, 则c ^ b = a, c ^ a = b。这就意味着任意一个数与任意一个给定的值连续异或两次,值不变。

[6] 求两个整数n和m的平均值


  只适用于整数(负整数、0、正整数):

int f( int x,  int y ) {
    return  (x +y )  >>  1 ;
}
相关文章
|
1月前
|
编解码 算法 Java
Java中的位运算详解
Java中的位运算详解
|
1月前
|
存储 算法 安全
Java面试题:Java内存模型及相关知识点深度解析,Java虚拟机的内存结构及各部分作用,详解Java的垃圾回收机制,谈谈你对Java内存溢出(OutOfMemoryError)的理解?
Java面试题:Java内存模型及相关知识点深度解析,Java虚拟机的内存结构及各部分作用,详解Java的垃圾回收机制,谈谈你对Java内存溢出(OutOfMemoryError)的理解?
39 0
|
1月前
|
存储 Java 编译器
Java中ArrayList的常用函数
确切地说,`ArrayList` 提供的这些方法构成了一套强大并且灵活的工具集,可以满足各种程序设计情况中的需求。例如,通过使用 `iterator()`方法,开发者可以在不知道集合大小的情况下遍历集合中全部或部分元素;而 `sort()`方法则能够对集合中的元素进行排序。这些函数在日常的Java编程中极其常见且重要,掌握它们对于进行集合操作和数据处理来说是基础且必须的。
17 2
Java中ArrayList的常用函数
|
29天前
|
Rust Cloud Native Java
Java演进问题之Serverless应用或函数的冷启动如何解决
Java演进问题之Serverless应用或函数的冷启动如何解决
|
19天前
|
存储 Java Unix
(八)Java网络编程之IO模型篇-内核Select、Poll、Epoll多路复用函数源码深度历险!
select/poll、epoll这些词汇相信诸位都不陌生,因为在Redis/Nginx/Netty等一些高性能技术栈的底层原理中,大家应该都见过它们的身影,接下来重点讲解这块内容。
|
1月前
|
Java 测试技术
在Java中使用断言函数进行代码测试
在Java中使用断言函数进行代码测试
|
1月前
|
Java 大数据 API
Java语言的核心知识点与特性
Java 是一种广泛使用的编程语言,自 1995 年发布以来,它已经成为了企业级应用开发、移动应用开发、大数据处理和云计算等领域的主流技术。
28 0
|
1月前
|
存储 并行计算 安全
Java面试题:Java内存管理、多线程与并发框架的面试题解析与知识点梳理,深入Java内存模型与垃圾回收机制,Java多线程机制与线程安全,Java并发工具包与框架的应用
Java面试题:Java内存管理、多线程与并发框架的面试题解析与知识点梳理,深入Java内存模型与垃圾回收机制,Java多线程机制与线程安全,Java并发工具包与框架的应用
39 0
|
1月前
|
Java
Java面试题:Java内存模型与并发编程知识点,解释Java中“happens-before”的关系,分析Java中的内存一致性效应(Memory Consistency Effects)及其重要性
Java面试题:Java内存模型与并发编程知识点,解释Java中“happens-before”的关系,分析Java中的内存一致性效应(Memory Consistency Effects)及其重要性
18 0