net 和C# 中& 与&& 的区别???

rt

&&和||是用于条件判断,而&和|是位运算。

· 【&】

//相当于二进制减法;

//计算原理:数值转成二进制 > 二进制相减(遇0为0) > 再将二进制计算结果转成数值;

(1&1) = (0001 - 0001 = 0001) = 1

(1&2) = (0001 - 0010 = 0000) = 0

(2&2) = (0010 - 0010 = 0010) = 2

(7&5) = (0111 - 0101 = 0101) = 5

(7&8) = (0111 - 1000 = 0000) = 0

(8&4) = (1000 - 0100 = 0000) = 0

//如:true = 0001, false = 0000

(true|false) = (0001 - 0000 = 0000) = false

(true|true) = (0001 - 0001 = 0001) = true

(false|false) = (0000 - 0000 = 0000) = false

· 【|】

//相当于二进制加法;

//计算原理:数值转成二进制 > 二进制相减(遇1为1) > 再将二进制计算结果转成数值;

(1|1) = (0001 + 0001 = 0001) = 1

(1|2) = (0001 + 0010 = 0011) = 3

(2|2) = (0010 + 0010 = 0010) = 2

(7|5) = (0111 + 0101 = 0111) = 7

(7|8) = (0111 + 1000 = 1111) = 15

(8|4) = (1000 + 0100 = 1100) = 12

//如:true = 0001, false = 0000

(true|false) = (0001 + 0000 = 0001) = true

(true|true) = (0001 + 0001 = 0001) = true

(false|false) = (0000 + 0000 = 0000) = false

· 【&&】

//条件与

//其中一方为false则返回false

//左右两方同时为true则返回true

(true&&false) = false

(true&&true  ) = true

(false&&false) = false

· 【||】

//条件或

//其中一方为true则返回true

//左右两方同时为false则返回false

(true || false) = true

(true || true  ) = true

(false || false) = false

转载自

温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2018-02-10
&可以表示逻辑与 也表示条件的并当表示并的时候需要考虑两个条件都满足才可以
&& 表示条件的并 它先判断&&前面的是否为真 是的话再判断后边的 不是的话不用判断后面的直接返回假本回答被提问者采纳
第2个回答  推荐于2017-11-23
&:Address-of(Unary一元) 就是huima80说的有关指针地址的运算符。
&:Bitwise AND 位与运算符,学计算机最基础的会教的。
&:Logical AND 逻辑与运算符,二元,两边的参数都会参与计算。
&&:Conditional AND 条件与运算符,二元,如果左边的满足假,那么右边不用计算,返回假。否则再计算右边。本回答被网友采纳
第3个回答  2018-02-09
&是位操作,1&2=0,也就是01和10的和操作,00,十进制就是0;
&&是逻辑操作,A&&B,AB都是true才成立
相似回答