有定义:int a=64,b=8;,则表达式(a&b)‖(a&&b)和(a|b)&&(a‖b)的值分别为( )。

admin2017-07-05  25

问题 有定义:int a=64,b=8;,则表达式(a&b)‖(a&&b)和(a|b)&&(a‖b)的值分别为(    )。

选项 A、1和1
B、1和0
C、0和1
D、0和0

答案A

解析 常用的位运算符有:“一”按位求反,“<<”左移,“>>”右移,“&”按位与,“^”按位异或,“|”按位或。运算时,先将数值转化为二进制。逻辑或运算符“‖,计算左表达式值,如果为真,则不计算右表达式,而整个表达式为真,若左表达式为假,再计算右表达式然后做或运算。逻辑与运算符“&&”,计算左表达式值,如果为假则不计算右表达式,而整个表达式为假,若左表达式为真,再计算右表达式然后做与运算。a=64=1000000B,b=8=1000B,a&b=0为假,a&&b为真,(a&b)‖(a&&b)为真,值为1。a|b=1001000B为真,a‖b为真,则(a|b)&&(a‖b)为真,值为1。故A选项正确。
转载请注明原文地址:https://kaotiyun.com/show/fpDp777K
0

最新回复(0)