题目
34.(单选题,2.0分) 程序中a = 0xbc;b = 0x45;a = a & b;结果a等于()。A. 0x40B. 0x08C. 0x04D. 0x00
34.(单选题,2.0分) 程序中a = 0xbc;b = 0x45;a = a & b;结果a等于()。
A. 0x40
B. 0x08
C. 0x04
D. 0x00
题目解答
答案
C. 0x04
解析
考查要点:本题主要考查十六进制数的二进制转换及按位与(&)操作的应用。
解题核心思路:
- 将十六进制数转换为二进制数:每个十六进制字符对应4位二进制数。
- 按位与操作:逐位比较两个二进制数,只有两个位均为1时,结果位才为1。
- 将结果转换回十六进制:将二进制结果按4位分组,转换为十六进制表示。
破题关键点:
- 准确转换十六进制为二进制,确保位数对齐。
- 逐位执行按位与操作,避免计算错误。
步骤1:转换十六进制为二进制
- a = 0xbc
b对应二进制1011,c对应1100,合并为10111100。 - b = 0x45
4对应二进制0100,5对应0101,合并为01000101。
步骤2:按位与操作
将两个二进制数对齐后逐位相与:
1 0 1 1 1 1 0 0 (a的二进制)
& 0 1 0 0 0 1 0 1 (b的二进制)
-------------------
0 0 0 0 0 1 0 0 (结果)
步骤3:转换结果为十六进制
二进制00000100分组为0000和0100,对应十六进制0x04。