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 |