Answers for "excelvba is bit set long"

VBA
9

vba bits to byte

Public Function ByteToBits$(ByVal n&)
    ByteToBits = "00000000"
    If n And 1 Then MidB$(ByteToBits, 15) = "1"
    If n And 2 Then MidB$(ByteToBits, 13) = "1"
    If n And 4 Then MidB$(ByteToBits, 11) = "1"
    If n And 8 Then MidB$(ByteToBits, 9) = "1"
    If n And 16 Then MidB$(ByteToBits, 7) = "1"
    If n And 32 Then MidB$(ByteToBits, 5) = "1"
    If n And 64 Then MidB$(ByteToBits, 3) = "1"
    If n And 128 Then MidB$(ByteToBits, 1) = "1"
End Function

'------------------------------------------------------------------------------

MsgBox ByteToBits(0)		'<--displays: 00000000
MsgBox ByteToBits(170)		'<--displays: 10101010
MsgBox ByteToBits(255)		'<--displays: 11111111
Posted by: Guest on May-23-2020
20

excel vba is bit set long

'Extremely fast VBA function to test if a specified bit is set 
'within a 32-bit Long integer.

'Bits are numbered from 0 to 31, so the first (least significant) bit
'is bit 0.

'Note: we do not inspect bit 31, the sign bit.


Function LongBitIsSet(theLong&, bit As Byte) As Boolean
    Static i&, b&()
    If (Not Not b) = 0 Then
        ReDim b(0 To 30)
        For i = 0 To 30
            b(i) = 2 ^ i
        Next
    End If
    If bit < 31 Then LongBitIsSet = theLong 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)      '<--displays: True
Posted by: Guest on February-05-2021
31

vba bits to byte

'Extremely fast VBA function to convert a binary string to a Byte:

Function BitsToByte(bits$) As Byte
    Dim i&
    Static b() As Byte
    If LenB(bits) > 16 Then Exit Function
    If LenB(bits) = 16 Then
        b = bits
    Else
        b = String$(8 - Len(bits), "0") & bits
    End If
    For i = 0 To 14 Step 2
        BitsToByte = 2 * BitsToByte Or (b(i) Xor 48)
    Next
End Function


'Example:

MsgBox BitsToByte("00001100")		'<--displays: 12
MsgBox BitsToByte("10000001")		'<--displays: 129
'
'
'
Posted by: Guest on February-03-2021

Code answers related to "excelvba is bit set long"

Code answers related to "VBA"

Browse Popular Code Answers by Language