Mit logischen Operationen AND und OR.
Ich schreib's mal im Codefenster da ist es besser Darzustellen:
Bit0 setzen:Code:Wert = &B00000000 B = 1 print "Vorher:" print bin(Wert) print bin(B) if B = 1 then Wert = Wert OR &B00000001 else Wert = Wert AND &B11111110 end if print "Nachher:" print bin(Wert) END 'Program Tabellarisches Beispiel: 01010101 | 01010100 AND 11111110 | OR 00000001 -------- | -------- = 01010100 | = 01010101 Oder anders (nur ein Bit betrachtet): 1 AND 1 = 1 | 1 OR 1 = 1 1 AND 0 = 0 | 1 OR 0 = 1 0 AND 1 = 0 | 0 OR 1 = 1 0 AND 0 = 0 | 0 OR 0 = 0
Mit OR muss nur eine Bedingung erfüllt sein.
also Egal ob das Bit0 gesetzt ist oder nicht
mit "Wert OR 1" (00000001) wird es auf jeden Fall gesetzt.
Bit0 löschen:
Mit AND wird das Bit nur gesetzt wenn beide eine 1 haben.
mit "Wert AND 254" (11111110) wird auf jeden Fall das Bit0 gelöscht und die anderen bleiben so wie Sie sind.
Wie Du siehst, kannst Du logische Operationen auch mit beliebigen Zahlen duchführen.
Lesezeichen