&与&&的区别

(&和 |)运算是把逻辑表达式全部计算完,而(&&和||)则具有短路功能,所谓短路功能是指系统从左至右进行逻辑运算,一旦出现计算结果已经确定的情况,则计算被终止。

例如:只要运算左端的表达式的值为false,则系统无论运算右端的值是true或为false,其结果都为false。

问题:

127&128=127 127|128=255

 

 

&运算法则

二进制&运算规则:1&1=1 1&0=0 0&0=0

二进制|运算规则:1|1=1 1|0=1 0&0=0

127的二进制为 0000 1111 1111

128的二进制为0001 0000 0000

所以按位运算与的结果就为 0000 1111 1111,转成十进制结果就为127

按位运算或的结果为0001 1111 1111,转成十进结果为255

原文地址:https://www.cnblogs.com/wxwall/p/3456625.html