0
在this question最後的答案表明,一個二進制真值表可表示爲二進制數:爲什麼在將真值表評估爲二進制數時進行移位?
0 0 0 | 1
0 0 1 | 1
0 1 0 | 0
0 1 1 | 0
1 0 0 | 1
1 0 1 | 0
1 1 0 | 1
1 1 1 | 0
可以通過01010011
表示。
在表中的條目也可以使用這個號碼進行評價。
def evaluate(f, x):
return (f & (1<<x)) != 0
f = int('01010011',2)
>>> evaluate(f,int('100',2))
True
>>> evaluate(f,int('101',2))
False
我的問題是關於evaluate
函數提供的答案。爲什麼我們必須左移一位?