位运算

位运算题目

设字符型变量x的值是064,表达式 ~x^x<<2&x 的值对应的8进制值是__。 (2分)
A.333
B.0333
C.x333
D.020

首先,根据题意,运算符的优先级由高到低为 ~ << & ^。
所以原式可化为(~x)^((x<<2)&x)

八进制 064
二进制 110100
十进制 52

分步运算
1.~x 按位取反:110100按位取反为:11001011
2. x<<2 左移 110100左移为:11010000
3. (x<<2)&x

1 1 0 1 0 0 0 0
0 0 1 1 0 1 0 0
0 0 0 1 0 0 0 0

4. 第一步与第三步的结果在运算
11001011^00010000=11011011
二进制转化为八进制
11011011=>0333
故选B。

你可能感兴趣的:(位运算)