剑指offer知识点Java中位运算的5个常用技巧函数
Posted 征途黯然.
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了剑指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 ;
以上是关于剑指offer知识点Java中位运算的5个常用技巧函数的主要内容,如果未能解决你的问题,请参考以下文章