以下是一个示例代码,用于按位与读取一个位:
def read_bit(num, position):
mask = 1 << position # 创建一个掩码,用于提取指定位置的位
result = num & mask # 使用按位与运算符将掩码应用于给定的数值
return result >> position # 将结果右移指定的位置,以获得所需位的值
# 示例用法
number = 10 # 二进制表示为 1010
bit_position = 2 # 从右向左数,第二位是 1
bit_value = read_bit(number, bit_position)
print('位值:', bit_value) # 输出 1
在示例中,我们首先创建一个掩码,将其设置为 1,然后将其左移指定的位数,以便在正确的位置上有一个 1。然后,我们将这个掩码应用于给定的数值,使用按位与运算符。这将会将掩码之外的所有位都设置为 0,只保留我们感兴趣的位。最后,我们将结果右移回原始位置,以获取位的值。
在示例中,我们使用数字 10(二进制表示为 1010)作为输入,并读取第二位,这个位的值是 1。所以输出结果为 1。
上一篇:按位与的相反操作是什么?
下一篇:按位运算符 NOT