无论说是在哪一门计算机语言,位操作运算对于计算机来说肯定是最高效的,因为计算机的底层是按就是二进制,而位操作就是为了节省开销,加快程序的执行速度,以及真正的实现对数的二进制操作。 使用位操作,很多代码看起来会很简洁,并且执行速度也会随之提高。在大多数编程语言中都会有 << 和 >> 这两个符号向左的就是左移,反之则是右移这个符号的左边就是需要操作的数,而右边就代表了对这个数移动多少位。
上面的与或操作会发现他们有单符号的还有双符号的,不要搞混了单符号的不仅仅就是位操作,他们还是逻辑操作,而双符号的仅仅就是逻辑操作。并且他们有区别例如 & 和 && 当他们都作为逻辑操作的,前者就是对一个表达式一直判断完毕才会出现他的值,而后者则是判断一半如果知道为假或真他就不再判断了,这也就是我们看到的大多数的 if 判断中是用的双与,而非单与。
int i=3,j=8,temp=0;
temp=i;
i=j;
j=temp;
第二个:使用加减法
int i=3,j=8;
i=j+i;
j=i-j;
i=i-j;
第三个:位操作
int i=3,j=8;
i=i^j;
j=i^j;
i=i^j;
这个地方就是用了异或的重要性质
int num=60;
int n1=num & 15;
int tmp=num >>> 4;
int n2=tmp & 15;
System.out.println("n1: "+n1+" n2 "+n2);