C语言运算符 &和 &&的区别

C语言运算符 &和 &&的区别

07(H)&FC(H) = ?
07(H)&&FC(H) = ?

& 是位运算符,也就是二进制计算
07H = 111B
FCH = 11111100B
07H & FCH = 100B = 4H
&& 是逻辑运算符,0代表false,其他数值代表true(一般用1表示)
07H 不是0,所以为true
FCH 不是0,所以为true
true && true 的结果为 true,用1表示,所以
07H && FCH = 1H
温馨提示:答案为网友推荐,仅供参考
第1个回答  2012-06-29
&是按二进制位的与运算,比如两个数的二进制表示分别为101和110,那么着两个数进行&运算之后的只应该是100(1&1=1,0&1=0,1&0=0);
&&是逻辑与运算,两个数A,B,只有他们同时为真(TRUE)的时候进行&&运算得出的结果才为真(TRUE),否则为假(FALSE),例如 1 && 0 = 0, 1&&1 = 1
第2个回答  2012-06-29
&是位与,&&是与。位与就是说把一个数换算成2进制,每一位分别与。是07就是00000111,FC=11111100,07(H)&FC(H) = 00000111&11111100=00000100,换算成十进制为4。与就是两个数变换成真假来算,C里面非0即为真,所以结果07(H)&&FC(H) = TRUE&&TRUE=TRUE=1
第3个回答  2012-06-29
&是按位与运算符,&&是逻辑与运算符
第4个回答  2012-06-29
&是按位与
&&是逻辑与
07(H) = 0000 0111(B)
FC(H) = 1111 1100(B)
故07(H)&FC(H) = 0000 0100(B) = 04(H)
07(H)&&FC(H) = 1
相似回答