A-A+

以下程序的功能是进行位运算 main () { unsigned char a b; a=

2022-08-05 20:21:13 问答库 阅读 171 次

问题详情

以下程序的功能是进行位运算 main () { unsigned char a, b; a=73; b=~4&3; printf (,%d %dn" ,a,b); } 程序运行后的输出结果是
A.4 3
B.7 3
C.7 0
D.4 0请帮忙给出正确答案和分析,谢谢!

参考答案

正确答案:A
解析:是位异或运算符,其作用是将左右运算分量的相应二进制位进行异或操作。即,相应位同时为。或同时为1则结果相应位为0,否则结果相应位为1。所以a=73=(00000111)2(00000011)2=(00000100)2=4。~是位反运算符,作用是将运算分量的二进制位按位取反。即,原来是0的二进制位变成1,原来是1的变成0。&是位与运算符,其作用是将左右运算分量的相应二进制位进行与操作。即,相应位同时为1时结果相应位为1,否则结果相应位为0。所以b=-4&3=~(00000100)2&(00000011)2(11111011)2&(00000011)2=(00000011)2=3。故应该选择A。

考点:功能,程序