Hi,
How can I SET or RESET bit in byte ?
UINT value = 0
' set 20 bits: 11111111 11111111 10000100 00100001
value |= 0xFFFF8421 ' value is 0xFFFF8421
' toggle one bit 00000000 00000000 00000000 00000001
value = value ^ 1 ' value is 0xFFFF8420
' reset 3 bits
' bits to be reset: 11100000 00000000 00000000 00000000
' mask: 00011111 11111111 11111111 11111111
value &= 0x1FFFFFFF ' value is 0x1FFF8420
I think this should work.
SUB SetBit(INT v BYREF, INT vbit BYVAL)
INT mb
mb=2^bit
v|=mb
ENDSUB
SUB ResetBit(INT v BYREF, INT vbit BYVAL)
INT mb
mb = 0xFFFFFF-(2^vbit)
v &= mb
ENDSUB