偶然发现一些有意思的Java运算
高效率计算2乘以8(8为2的3次方)
int a = 2<<3; // 左移3位相当于乘以2的3次方;右移3位相当于除以2的3次方
System.out.println("a="+a);
符号“^” 表示异或:将对应bit异或–bit相同则为0,不同则为1
2的二进制数为0010
5的二进制数为0101
2^5转化==> (0010)异或(0101)得到(0111) ==> 0+1+2+4=7
即:2^5=7
int b = 2^5;
int c = 2+5;
boolean k = b==c;
System.out.println("b="+b);
System.out.println("k为"+k);
计算平方/开方
使用Math的pow方法
int d = (int) Math.pow(2,5);
System.out.println("2的5次方为"+d);
int e = (int) Math.pow(32.0,1.0/4);
System.out.println("32开5次方为"+e);