Browse DevX
Sign up for e-mail newsletters from DevX

Tip of the Day
Language: Visual Basic
Expertise: Beginner
Jun 26, 1998



Building the Right Environment to Support AI, Machine Learning and Deep Learning

Converting long to two integers

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?

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
      WordLo = LongIn And &HFFFF&
   End If
End Function
DevX Pro
Comment and Contribute






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



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