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

By submitting your information, you agree that devx.com may send you DevX offers via email, phone and text message, as well as email offers about other products and services that DevX believes may be of interest to you. DevX will process your information in accordance with the Quinstreet Privacy Policy.


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

WEBINAR:

On-Demand

Application Security Testing: An Integral Part of DevOps


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