Lite smällar och booleska matematik utan matten (5 / 9 steg)
Steg 5: Booleska operationer med hjälp av Python - bitvis och operatör
http://Playground.Arduino.cc/Code/BitMath
Bitvis och operationer
Se avsnittet om bitvis och operatör.
Skriv följande uttryck:
>>> 0 & 0
0
>>> 0 & 1
0
>>> 1 & 0
0
>>> 1 & 1
1
>>>
Märke vi har fått samma svar som visas i exemplet bitvis och.
Vad vi har skapat kallas en sanning bordlägger för bitvis och operatören.
Vi har visas varje möjligt svar som vi kan ta emot, utför bitvis och operatören.
Låt oss fortsätta med bitvis och exemplen:
Skriv in följande i den >>> prompt:
>>> en = 92
>>> b = 101
>>> bin(a)
"0b1011100"
>>> bin(b)
"0b1100101"
>>> en & b
68
>>> bin(a & b)
"0b1000100"
>>>
Här har vi tilldelats ett värde av 92 variabel a och a värdet av 101 till variabel b. Vi sedan konverteras värden för en och b till binära att enkelt se resultatet av bitvis AND-operationen.
Vi genomförde sedan bitvis AND-operationen genom att skriva ett & b, Detta resulterade i ett värde av 68. Men vi vill visualisera svaret i binär, så vi skrev i den bin(a & b) funktion.
Vi kan nu enkelt visualisera bitvis AND-operationen utan att ta bort uppmärksamheten från att titta på den binära mönstren av 92 och 101 att göra matten.
Låt oss fortsätta den med bitvis och exemplen:
Vad använder du bitvis operatorn och för programmering eller bit banka? Ett av användningsområdena är att extrahera ett stycke värde från en byte. (åtta bitar)
Låt oss säga vi vill extrahera värdet av den minst signifikanta biten i det binära talet 101, den rätta de flesta 1 är den minst signifikanta biten.
Skriv in följande i den >>> prompt:
X = 5
>>> bin(x)
"0b101"
>>> y = x & 1
>>> bin(y)
"0b1"
Om vi ville att extrahera den näst minst signifikanta biten från värdet av 101, skulle den andra minst signifikanta biten av 101 vara 0.
Skriv följande vid den >>> prompt:
>>> y = x & 2
>>> bin(y)
"0b0"
>>>
Var försiktig, olika processorer definiera minst signifikanta bit positioner annorlunda. Vissa processorer använder vänster mest bit som den minst signifikanta bit ståndpunkten och vissa processorer använder rätt de flesta bitposition som den minst signifikanta bit ståndpunkten.