Login | Register   
LinkedIn
Google+
Twitter
RSS Feed
Download our iPhone app
TODAY'S HEADLINES  |   ARTICLE ARCHIVE  |   FORUMS  |   TIP BANK
Browse DevX
Sign up for e-mail newsletters from DevX


Tip of the Day
Language: Visual Basic
Expertise: Beginner
Oct 1, 1996

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 separate bit - without regard to the other bits (some of the numbers will contain 16 bits and the number of possible combinations is 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 = 1
Option 2 = 2
Option 3 = 4
Option 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) = iOp2
End 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.

DevX Pro
 
Comment and Contribute

 

 

 

 

 


(Maximum characters: 1200). You have 1200 characters left.

 

 

Sitemap
Thanks for your registration, follow us on our social networks to keep up-to-date