先介绍下逻辑运算符中&&与&、||与|的区别。
&&与||的表达式被称为'短路'。“短路‘’就是直接可以根据左端的表达式就是可以判断整个表达式的值。比如false&&true,根据左端就可以判断整个表达式值为false.
&与|的表达式被称为‘非短路’。“非短路”就是始终执行逻辑运算符两边的表达式。
位运算:
按位与&:如果两个操作数对应位都是1,则结果位才是1,否则为0。
按位或|:如果两个操作数对应位都是0,则结果位才是0,否则为1.
按位非~:为单目运算符,将操作数二进制中的1全部修改为0,0全部修改为1.
按位异或^:当两个操作数的二进制表示相同(同时为0或同时为1)时,结果为0,否则为1.
按位异或的作用:除了底层运算也没什么用了吧,但是可以加密解密啊。。
同样有一算法题。如何实现两个变量互换,不使用第三变量,因为临时变量的创建会增加系统资源的消耗。
A = A ^ B
B = B ^ A
A = A ^ B