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
Jun 26, 1998

Converting long to two integers

Question:
How do you convert a long integer to two integer values (that is, get the low word and high word contained in a long integer)? Danial Appleman's API Guide discusses a function to do this, but it requires distribution of another DLL. How can I retrieve these values without using Dan Appleman's function/DLL?

Answer:
The following two functions seem to end up in nearly every app I write! Enjoy...

Public Function WordHi(LongIn As Long) As Integer
   '
   ' Mask off low word then do integer divide to
   ' shift right by 16.
   '
   WordHi = (LongIn And &HFFFF0000) \ &H10000
End Function

Public Function WordLo(LongIn As Long) As Integer
   '
   ' Low word retrieved by masking off high word.
   ' If low word is too large, twiddle sign bit.
   '
   If (LongIn And &HFFFF&) > &H7FFF Then
      WordLo = (LongIn And &HFFFF&) - &H10000
   Else
      WordLo = LongIn And &HFFFF&
   End If
End Function
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