Question:
How do I create a bit-mask in VB? What I wish to do is “read” a binary number where each bit represents a different state for an electrical system. Ideally the user will input the number and the prog would respond with a diagnosis showing the state of eaach item.
I can handle all the code except how to read each separatebit – without regard to the other bits (some of the numberswill contain 16 bits and the number of possible combinationsis getting out of hand)
Answer:
Try creating a bit field by adding powers of two together, like the MsgBox does to determine what icons to show.
Option 1 = 1Option 2 = 2Option 3 = 4Option 4 = 8So if you wanted to set options 1 and 3, my total value would be 5. To check this, use the following function:
Function g_fnBitCmp (iOp1 As Long, iOp2 As Long) As Integer g_fnBitCmp = (iOp1 And iOp2) = iOp2End FunctionIn the example above, if you wanted to check for option 3, you would say g_fnBitCmp(5, 4), and that would return true because:
5 AND 4 equals 4, since that is the bit common between them. It is a little different than most languages, but it still works.