10.若变量已正确定义,表达式()的值不是2 A. 2&3 B.1<<1 C. a==2 D.1~3
时间: 2024-06-02 15:08:03 浏览: 107
09年1月高级语言试卷.doc
选项中的表达式都是合法的,但它们的值并不一定为2。
A. 2&3 的值为 2,因为 2 的二进制表示为 10,3 的二进制表示为 11,按位与运算后得到 10,即十进制的 2。
B. 1<<1 的值为 2,因为左移一位相当于乘以 2 的 1 次方,即 1<<1 等价于 1*2,结果为 2。
C. a==2 的值取决于变量 a 的值,如果 a 的值为 2,那么表达式的值为 true,即 1;否则为 false,即 0。
D. 1~3 的值为 -4,因为按位取反运算会将二进制表示的每个位取反(0 变为 1,1 变为 0),然后再转换为十进制。1 的二进制表示为 0001,取反后变为 1110,即十进制的 -2;3 的二进制表示为 0011,取反后变为 1100,即十进制的 -4。两个数按位或运算后得到 1110 | 1100 = 1110,即十进制的 -4。
阅读全文