逻辑运算与按位运算的区别??

 我来答
my缪宇
2023-07-28 · TA获得超过8144个赞
知道小有建树答主
回答量:92
采纳率:70%
帮助的人:17.5万
展开全部

&:是与的意思
&&:是且的意思
|:是或的意思
||:也叫或

&: 两个数字位操作 AND。或者取某个变量的地址,或声明引用。
对 bit:(0 & x ) = 0; ( 1 & x ) = x;
&&:两个 bool 值的“并且”。( false && x ) = false; (true && x)= x;

|:两个数字 位操作 OR。对 bit: ( 0 | x ) = x; ( 1 | x ) = 1;
||:两个bool 值的“或”。( true || x ) = true; ( false || x ) = x;

逻辑运算与按位运算,不一样的两种运算。
按位运算是把整数的每个二进制位与另一个整数对应的每个二进制位进行运算,是整数到整数的运算。逻辑运算其实是布尔值到布尔值的运算,只不过在C当中,所有非零整数都理解true,所有0都理解为false。所以4 && 2 == 1,其实是4是true,2也是true,与的结果是true,所以是1。而按位操作,4是0b0100, 2是0b0010,它们没有重叠的二进制位,所以结果是4 & 2 == 0



推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式