vba double vs long code example
Example 1: excel-vba long integer value to bits
Function LongToBits$(ByVal n&)
Dim i&
LongToBits = "00000000000000000000000000000000"
If n And &H80000000 Then
Mid$(LongToBits, 1, 1) = "1"
n = n And Not &H80000000
End If
For i = 32 To 2 Step -1
If n And 1 Then Mid$(LongToBits, i, 1) = "1"
n = n \ 2
Next
End Function
'------------------------------------------------------------------------------
MsgBox LongToBits(0) '<--displays: 00000000000000000000000000000000
MsgBox LongToBits(293781237) '<--displays: 00010001100000101011111011110101
MsgBox LongToBits(-1) '<--displays: 11111111111111111111111111111111
Example 2: vba low word from Long Integer
'If n is a 4-byte Long Integer, the Low (Left) Word is:
If n And &H8000& Then
LoWord = n Or &HFFFF0000
Else
LoWord = n And &HFFFF&
End If
'If n is a 4-byte Long Integer, the High (Right) Word is:
HiWord = (n And &HFFFF0000) \ &H10000