使用位运算符将一个数的第 n 位设为 1
假设要将一个数的第 n 位设为 1,可以用以下方法:
- 构造一个二进制数,该数只有第 n 位为 1,其他位为 0。
- 将原数与上述二进制数进行按位或运算,即可将第 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。
原文地址: https://www.cveoy.top/t/topic/oJMB 著作权归作者所有。请勿转载和采集!