Seite 1 von 1
Bits vom byte überprüfen ob gesetzt
Verfasst: 20.02.2010 20:45
von super_castle
Wie kann man die Bits hintereinander vom Byte überprüfen ob die gesetzt sind?
Bitset oder ähnliches konnte ich nicht finden.
Gruss
Re: Bits vom byte überprüfen ob gesetzt
Verfasst: 20.02.2010 20:53
von WPö
Code: Alles auswählen
for i=7 to 0
if (Byte.l & (1<<i))
;Bit gesetzt
else
;Bit gelöscht
endif
next i
Re: Bits vom byte überprüfen ob gesetzt
Verfasst: 20.02.2010 21:05
von super_castle
Jup, danke.
Ich suchte vergeblich nach einem Bitbefehl .
Gruss
Re: Bits vom byte überprüfen ob gesetzt
Verfasst: 20.02.2010 21:12
von super_castle
Kommt irgendwie kein Ergebnis im Debugger, wie kommt das?
Code: Alles auswählen
wert.l=128
For i=7 To 0
If (wert.l & (1<<i))
Debug 1
Else
Debug 0
EndIf
Next i
Gruss
Re: Bits vom byte überprüfen ob gesetzt
Verfasst: 20.02.2010 21:13
von RSBasic
Code: Alles auswählen
wert.l=128
For i=7 To 0 Step -1
If (wert.l & (1<<i))
Debug 1
Else
Debug 0
EndIf
Next i
Re: Bits vom byte überprüfen ob gesetzt
Verfasst: 20.02.2010 23:37
von super_castle
Au man, scheiss Spiel....
Jup, danke.
Gruss
Re: Bits vom byte überprüfen ob gesetzt
Verfasst: 20.02.2010 23:43
von Kai
Nochma ne umständliche Methode
Code: Alles auswählen
#Bit1 = 1
#Bit2 = 2
#Bit3 = 4
#Bit4 = 8
#Bit5 = 16
#Bit6 = 32
#Bit7 = 64
#Bit8 = 128
value.b = #Bit2|#Bit3|#Bit6
If(value & #Bit1)
Debug "Bit 1"
EndIf
If (value & #Bit2)
Debug "Bit 2"
EndIf
If (value & #Bit3)
Debug "Bit 3"
EndIf
If (value & #Bit4)
Debug "Bit 4"
EndIf
If (value & #Bit5)
Debug "Bit 5"
EndIf
If (value & #Bit6)
Debug "Bit 6"
EndIf
If (value & #Bit7)
Debug "Bit 7"
EndIf
If (value & #Bit8)
Debug "Bit 8"
EndIf