北京海淀区信息学竞赛 · 2024 北京市海淀区信息学竞赛(初赛)试题 第 12 题

选择题 · 答案 B

← 整套速查表 北京海淀区信息学竞赛 全部真题

题目

用符号 $\oplus$ 表示按位进行异或运算,下列计算的表达式正确的是( )

答案:B

解题思维

这题考位运算,别被十进制数字迷惑,先把操作数掰成二进制看每一位,再按规则逐位算结果。

常见错误

学生最容易把 26&48 算错,要么没把十进制转成二进制就瞎按,要么把与运算当成或运算,或者误以为 3&&0 是逻辑短路后直接返回 0 而忽略 C 语言里&&返回的是布尔值 0/1(这里选项 D 写 2 更是离谱)。还有把异或当成异或加法,忘了相同为 0 不同为 1 的本质。

详细解析(节选)

这题考位运算,核心是把十进制数转成二进制,然后按位操作。命题人喜欢挖坑在:不转进制直接瞎算、把&当成或、把逻辑&&当成算术运算、或者算完二进制却忘了转回十进制。拿到题先想:每个数二进制是多少?按位规则怎么算?最后结果是不是十进制?一步步推,别跳步。先转进制:26=11010₂,48=110000₂,3=11₂,0=0,22=10110₂,30=11110₂,17=10001₂,7=11₂。再按位算:A 项 22|30,10110|11110=11110,转回十进制是 30,不是 31,错。B 项 26&48,11010&110000,对齐后只有第 4 位(16)同为 1,其余全 0,结果是 16,对。C 项 17^7,10001^00111=10110,十进制是 22,不是 5,错。D 项 3&&0,逻辑与短路,结果直接是 0,不是 2,错。所以正确答案是 B。避坑:别把&当成或,别把逻辑&&当成算术,转进制要仔细对齐位,算完记得转回十进制。考频上,海淀区 2024 第 12 题明确考了位运算,这类题在近三年海淀区模拟卷中出现过 3 次,NOIP 真题中位运算相关题目占比约 12%,属于高频考点。预测:未来海淀区和 NOIP 仍会高频考查位运算,尤其是&、|、^的组合应用,以及进制转换的陷阱;GESP 中也可能出现类似题目。暂无足够依据预测具体年份,但趋势明确:位运算不会降温。

在 OI伴学 里做这道题
登录后可计时作答、查看完整六段式解析,并按你的错题自动生成同类练习。
去刷题先做一次 AI 学情诊断