位运算符&与&&的区别和位移运算符

一 ,位运算


1,按位与& ,例如:

(1==2)&(2==2),即使”&”前面的比较值是false,但还是会继续”&”后面的(2==2),比较值为true,最终返回值是false


2,短路与&&,例如:

同样的(1==2)&&(2==2),”&&”前面的比较值是false,但不会继续”&&”后面的(2==2)比较,最终返回值是false


二 ,位移运算符<<,>>,>>


1,左移<<,如1010<<2
就是将一个二进制位的操作数1010按指定的移动位数2向左移动,移出位被丢弃,右边的空位一律补0,得到1000.


2,带符号右移>>,如1010 0010>>2
就是将一个二进制位的操作数1010 0010按指定的移动位数2向右移动,移出位被丢弃,左边的空位一律补符号位,得到1110 1000


3,无符号右移>>>,如1010 0010>>>2
就是将一个二进制位的操作数1010 0010按指定的移动位数2向右移动,移出位被丢弃,左边的空位一律补0,得到0010 1000

这里写图片描述

猜你喜欢

转载自blog.csdn.net/weixin_42870683/article/details/81744852