1 条题解

  • 0
    @ 2026-8-6 11:18:47

    位运算基础选择填空专项练习:答案与解析

    答案总览

    题号 1 2 3 4 5 6 7 8 9 10
    答案 B C A B C B A C A
    题号 11 12 13 14 15 16 17 18 19 20
    答案 B C 7 27 21 56 6 23 32 4

    逐题解析

    1. 13 & 10 = 8

    13 = 1101₂10 = 1010₂。按位与要求对应位都为 1 才得到 1

    1101
    1010
    ----
    1000
    

    1000₂ = 8

    2. 12 | 5 = 13

    12 = 1100₂5 = 0101₂。按位或只要有一个位置为 1,结果就为 1,得到 1101₂ = 13

    3. 9 ^ 14 = 7

    9 = 1001₂14 = 1110₂。异或在两个位不同时得到 1,得到 0111₂ = 7

    4. x ^ x = 0

    相同的二进制位异或结果为 0,因此一个数与自己异或,所有位都会变成 0

    5. ~00010110 = 11101001

    按位取反会将每一位的 01 互换。本题固定为 8 位,所以答案为 11101001

    6. 5 << 2 = 20

    左移 2 位相当于乘以 222^25 × 4 = 20

    7. 40 >> 3 = 5

    对非负整数,右移 3 位相当于整除 232^340 ÷ 8 = 5

    8. 判断奇偶:n & 1

    二进制最低位为 1 时是奇数,为 0 时是偶数,因此可检查 n & 1

    9. 消去最低位的一个 1n & (n - 1)

    n - 1 会把最低位的 1 变为 0,并改变它右侧的位;再与原数按位与,恰好消去最低位的一个 1

    10. 判断 2 的整数次幂

    2 的整数次幂的二进制表示中只有一个 1。消去最低位的一个 1 后应变为 0,同时必须保证 n > 0

    11. 设置第 k 位:x | (1 << k)

    1 << k 只有第 k 位是 1。与 x 按位或后,该位一定变成 1,其他位不变。

    12. 清零第 k 位:x & ~(1 << k)

    ~(1 << k) 只有第 k 位是 0,其他位都是 1。与 x 按位与后,第 k 位被清零,其他位保留。

    13. 23 & 15 = 7

    23 = 10111₂15 = 01111₂,按位与得到 00111₂ = 7

    14. 18 | 9 = 27

    18 = 10010₂9 = 01001₂,按位或得到 11011₂ = 27

    15. 25 ^ 12 = 21

    25 = 11001₂12 = 01100₂,按位异或得到 10101₂ = 21

    16. 7 << 3 = 56

    左移 3 位相当于乘以 232^37 × 8 = 56

    17. 96 >> 4 = 6

    右移 4 位相当于整除 242^496 ÷ 16 = 6

    18. 最终 x = 23

    10 << 1 = 20,再计算 20 ^ 3

    10100
    00011
    -----
    10111
    

    10111₂ = 23

    19. 最终 x = 32

    每次 x &= x - 1 消去最低位的一个 1

    44 = 101100₂
    第一次后:101000₂ = 40
    第二次后:100000₂ = 32
    

    20. 最终 cnt = 4

    循环每执行一次就消去 x 中最低位的一个 145 = 101101₂ 中共有 4 个 1,所以循环执行 4 次。

    • 1

    位运算基础选择填空专项练习(20题)

    信息

    ID
    5117
    时间
    1000ms
    内存
    256MiB
    难度
    8
    标签
    递交数
    38
    已通过
    7
    上传者