&和&&的区别

 我来答
匿名用户
2013-11-06
展开全部
&  位运算符
&& 逻辑运算符
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
默认昵称_
2017-11-24 · TA获得超过150个赞
知道答主
回答量:52
采纳率:100%
帮助的人:1.7万
展开全部

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

· 【&】

//相当于二进制减法;

//计算原理:数值转成二进制 > 二进制相减(遇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

转载自

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式