假设要将一个数的第 n 位设为 1,可以用以下方法:

  1. 构造一个二进制数,该数只有第 n 位为 1,其他位为 0。
  2. 将原数与上述二进制数进行按位或运算,即可将第 n 位设为 1。

代码如下:

def set_bit(num, n):
    '将 num 的第 n 位设为 1'
    mask = 1 << (n - 1)  # 构造一个只有第 n 位为 1 的二进制数
    return num | mask  # 将原数与该二进制数进行按位或运算,即可将第 n 位设为 1

# 示例
num = 0b1010  # 二进制数 1010
n = 3  # 将第 3 位设为 1
result = set_bit(num, n)
print(bin(result))  # 输出 0b1010,第 3 位已经变成了 1

输出结果为:0b1010,第 3 位已经变成了 1。

使用位运算符将一个数的第 n 位设为 1

原文地址: https://www.cveoy.top/t/topic/oJMB 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录