运算符和两数的交换

来源:互联网 发布:保湿精华液排行榜 知乎 编辑:程序博客网 时间:2024/05/19 17:48

运算符和两数的交换

(一)&和&&,|和||

&&和&:&&是左边为false时,右边不进行运算,结果直接为false.&是还要对右边进行运算.

||和|:||是左边为truee时,右边不进行运算,结果直接为true.|是还要对右边进行运算.

(二)<<和>>,>>>

位运算效率高,因为直接对二进制位进行操作.

<<:其实就是乘以2的移动的位数次幂.

>>:就是除以2的移动的位数次幂.(最高位为1时,补1;最高位为0补0)

>>>无论最高位为1还是为0,都补0.

求二进制负数的整数,将二进制减1取反.(已知一个二进制的整数求负数,取反,加1).

(三)^和两数互换(不使用第三方变量)

^异或,一个数异或同一个数两次,结果还是那个数.

不使用第三方变量的两数互换:

             n=n+m; m=n-m; n=n-m;//如果n和m的值非常大,易超出int范围.

             n=n^m;  m=n^m; n=n^m;

原创粉丝点击