Accessing Bits

BlitzMax Forums/BlitzMax Programming/Accessing Bits

SuperStrict

Local flag%

SetBit(flag, 7)
Print Bin(flag)
Print CheckBit(flag, 7)
Print 
ClearBit(flag, 7)
Print Bin(flag)
Print CheckBit(flag, 7)
Print 
ToggleBit(flag, 7)
Print Bin(flag)
Print CheckBit(flag, 7)

End


Function CheckBit%(value%, bit%)
  Return (value & (1 Shl bit)) Shr bit
End Function

Function SetBit%(value% Var, bit%)
  value :| (1 Shl bit)
End Function

Function ClearBit%(value% Var, bit%)
  value :& ~(1 Shl bit)
End Function

Function ToggleBit%(value% Var, bit%)  
  value :~ (1 Shl bit)
End Function