Bit bayrakları kullanın. Daha fazla bilgi için, en basit terimlerle, Boolean değerlerini ikili formda saklayabilirsiniz, çünkü True/False, 4 farklı Boolean'ı saklamak için 4 bit veya 1 bayt yapabilirsiniz.
Yani şöyle diyelim:
piton sözdizimi:
a = 0x0
# [Bu biraz bayrağı veya ikili sayı <class 'int'>
ait piton temsilidir veya python27 içinde <type 'int'>
]
ikili gösterimi:
0x0 = 000
[sıfır sıfır ikili değişkenin ne kadar uzun olduğu önemli değil]
0x1 = 001
[1]
0x2 = 010
[2]
0x4 = 100
[4] işte
biz 000000000001 == 001 == 01 == beri kontrol edebilmemiz 3 veya daha fazla farklı Boole yerleri var
ama biraz bayrakları 0x1
0x3 = 011
[3 = 2 + 1]
0x5 = 101
[5 = 4 + 1]
0x6 = 110
[6 = 4 + 2]
0x7 = 111
[7 = 4 + 2 + 1]
IN EN SIMPLEST TERMS Size bir karşılaştırma sözdizimi verecektir &
VEYA anlamına gelir, yani '1' bit bayrağının yeri aynı olmalıdır. 001 & 010 Eğer bit bayrağı iki tip kontrol etmek istiyorsanız bu yüzden sadece onları toplayalım ve kontrol aynı yerde
yılında '1' olmadığı için Yani pratik açıdan 0x1 & 0x2 == 0x2 Yanlış olacak yukarıda sözdizimi ile.
örnek: 0x3&(0x1+0x2)==(0x1+0x2)
Umarım bu yardımcı olur. Mutlu googling.
Python 3'te tuple (aralık (3)) kullanılmasına gerek yoktur, bir jeneratöre ince ayar yapılması (sadece test ettim). –
@Chris, teşekkürler. sabit. – aaronasterling