devxlogo

Creating a Bit Field

Creating a Bit Field

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 = 8
So 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 Function
In 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.

devxblackblue

About Our Editorial Process

At DevX, we’re dedicated to tech entrepreneurship. Our team closely follows industry shifts, new products, AI breakthroughs, technology trends, and funding announcements. Articles undergo thorough editing to ensure accuracy and clarity, reflecting DevX’s style and supporting entrepreneurs in the tech sphere.

See our full editorial policy.

About Our Journalist