表达式 (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三级真题