移位操作符(Java)
举个例子简单的说明一下;
2<<3;因为要将一个数左移n位,就相当于乘以2的n次方,其运算过程为:2^3=8;2*8=16;结果等于16;而位运算cpu直接支持,所以其运算效率高;
10>>1=5;10>>2=2;10>>3=1;10>>4=0;因为要将一个数右移n位,就相当于除以2的n次方;50>>4,其运算过程为:2^4=16;50/16=3;所以其结果等于3;
举个例子简单的说明一下;
2<<3;因为要将一个数左移n位,就相当于乘以2的n次方,其运算过程为:2^3=8;2*8=16;结果等于16;而位运算cpu直接支持,所以其运算效率高;
10>>1=5;10>>2=2;10>>3=1;10>>4=0;因为要将一个数右移n位,就相当于除以2的n次方;50>>4,其运算过程为:2^4=16;50/16=3;所以其结果等于3;