题库首页 › GESP等级认证(Python) › 题目 25872

表达式 (x & (x-1)) 可以用来判断正整数 x 是否为 2 的幂次方。

A:正确
B:错误

正确答案:正确

答案解析

将正整数 x 表示为二进制形式,观察其最低位的 1 及后续位的分布。计算 x-1 时,x 的最低位 1 变为 0,该位右侧所有 0 变为 1,左侧位保持不变。执行按位与操作 (x & (x-1)) 时,若 x 中仅有一个位为 1,则该操作结果为 0;若存在多个位为 1,则结果不为 0。分析该表达式结果为 0 或非 0 对应的 x 的二进制特征,确定其与 2 的幂次方之间的关系。

试卷来源:202606 CCF-GESP编程能力等级认证Python三级真题

本卷相关题目

在线做题 同科目题库