Vba Inspect If Bit Is Set In 64 Bit Longlong

[Solved] Vba Inspect If Bit Is Set In 64 Bit Longlong | Vb - Code Explorer | yomemimo.com
Question : vba inspect if bit is set in 64-bit longlong integer

Answered by : daniel-ferry

'Extremely fast VBA function to test if a specified bit is set
'within a 64-bit LongLong integer.
'Bits are numbered from 0 to 63, so the first (least significant) bit
'is bit 0.
'Note: we do not inspect bit 63, the sign bit.
'Note: the LongLong data type is only available in 64-bit VBA.
Function LongLongBitIsSet(theLongLong^, bit As Byte) As Boolean Static i&, b^() If (Not Not b) = 0 Then ReDim b(0 To 62) For i = 0 To 62 b(i) = 2 ^ i Next End If If bit < 63 Then LongLongBitIsSet = theLongLong And b(bit)
End Function
'------------------------------------------------------------------
MsgBox LongBitIsSet(255, 7) '<--displays: True
MsgBox LongBitIsSet(230, 0) '<--displays: False
MsgBox LongBitIsSet(16384, 14) '<--displays: True
MsgBox LongBitIsSet(-16383, 0) '<--displays: True
MsgBox LongBitIsSet(&H7FFFFFFF, 0), 0) '<--displays: True
MsgBox LongLongBitIsSet(&H7FFFFFFFFFFFFFff^, 62) '<--displays: True
'
'
'

Source : http://academy.excelhero.com/ | Last Update : Fri, 12 Feb 21

Answers related to vba inspect if bit is set in 64 bit longlong integer

Code Explorer Popular Question For Vb