a是32位int整型变量,判断其32个2进位均为1的表达式为

来源:百度知道 编辑:UC知道 时间:2024/05/14 14:27:44
6. 若a是32位int整型变量,判断其32个2进位均为1的表达式为________。
(A)a&3==3 (B)a&3==11 (C)a&11==3 (D)a&11==11

要理由,越充分越好。。。。。请各位大侠帮个忙哈!
为什么D不行,这是个C语言的问题

3的二进制是11 所以
111111111111111111111111111111
&
000000000000000000000000000011
结果是11

(A)a&3==3 成立

PS:&是与操作符 仅两个操作数值皆为1时 结果才为1

A

0 & 1 = 0
1 & 1 = 1

BTW,楼上的,C++里面不能直接写2进制数字的,11转换为10进制就是3.

这个题看不民懂,但B、C、D是绝不成立的,我想答案应为

a & 0xffff==0xffff 或是 a==-1