devxlogo

Converting long to two integers

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)  &H10000End FunctionPublic 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 IfEnd Function
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