SetBit




Private Sub Form_Load()

Dim i As Integer
Dim l As Integer
Dim n As Integer

For n = 1 To 64
Debug.Print
For l = 15 To 0 Step -1
Debug.Print Abs(CInt(IsBitSet(n, l)));
Next
Next n
End Sub

Function SetBit(iBitString As Integer, lBitNo As Integer) As Integer

If IsBitSet(iBitString, lBitNo) Then
Exit Function
Else
SetBit = iBitString + (2 ^ lBitNo)
End If

End Function

Function ClearBit(iBitString As Integer, lBitNo As Integer) As Integer

If IsBitSet(iBitString, lBitNo) Then
Exit Function
Else
ClearBit = iBitString - (2 ^ lBitNo)
End If

End Function

Function IsBitSet(iBitString As Integer, lBitNo As Integer) As Boolean

IsBitSet = iBitString And (2 ^ lBitNo)

End Function










( setbit.html )- by Paolo Puglisi - Modifica del 17/12/2023