若变量已正确定义,下列哪项表达式的值不是2 A. 2&3 B.1<<1 C. a==2 D.1~3
时间: 2024-05-28 22:11:29 浏览: 103
C语言习题级答案2.doc
选项D的表达式的值不是2。
解释:
A. 2&3 的值是2(按位与运算符&会将两个数的二进制表示的每一位进行运算,只有当两个数的二进制表示的该位都是1时结果才为1,否则为0,所以2&3的二进制表示为 0010 & 0011 = 0010,即2)。
B. 1<<1 的值是2(左移运算符<<会将一个数的二进制表示向左移动指定的位数,右侧用0填充,所以1<<1的二进制表示为 0010,即2)。
C. 假设变量a的值为2,则a==2的值为true,即1。
D. 1~3 的值是-4(按位取反运算符~会将一个数的二进制表示的每一位都取反,即0变成1,1变成0,所以1~3的二进制表示为 ~0011 = 1100,即-4)。
因此,选项D的表达式的值不是2。
阅读全文