Excel vba 비트가 정수로 설정되어 있는지 확인

코드 예제

22
0

excel vba 비트가 정수로 설정되어 있는지 확인

'Extremely fast VBA function to test if a specified bit is set 
'within a 16-bit Integer.

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

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


Function IntegerBitIsSet(theInteger%, bit As Byte) As Boolean
    Static i&, b%()
    If (Not Not b) = 0 Then
        ReDim b(0 To 14)
        For i = 0 To 14
            b(i) = 2 ^ i
        Next
    End If
    If bit < 15 Then IntegerBitIsSet = theInteger And b(bit)
End Function

'------------------------------------------------------------------
MsgBox IntegerBitIsSet(255, 7)      '<--displays: True
MsgBox IntegerBitIsSet(230, 0)      '<--displays: False
MsgBox IntegerBitIsSet(16384, 14)   '<--displays: True
MsgBox IntegerBitIsSet(-16383, 0)   '<--displays: True




15
0

excel vba 바이트 단위로 비트 설정

'Extremely fast VBA function to test if a specified bit is set 
'within a Byte.

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

Function ByteBitIsSet(theByte As Byte, bit As Byte) As Boolean
    Static i&, b() As Byte
    If (Not Not b) = 0 Then
        ReDim b(0 To 7)
        For i = 0 To 7
            b(i) = 2 ^ i
        Next
    End If
    If bit < 8 Then ByteBitIsSet = theByte And b(bit)
End Function

'------------------------------------------------------------------
MsgBox ByteBitIsSet(255, 7)      '<--displays: True
MsgBox ByteBitIsSet(230, 0)      '<--displays: False



다른 언어로

이 페이지는 다른 언어로되어 있습니다

Русский
..................................................................................................................
English
..................................................................................................................
Italiano
..................................................................................................................
Polski
..................................................................................................................
Română
..................................................................................................................
हिन्दी
..................................................................................................................
Français
..................................................................................................................
Türk
..................................................................................................................
Česk
..................................................................................................................
Português
..................................................................................................................
ไทย
..................................................................................................................
中文
..................................................................................................................
Español
..................................................................................................................
Slovenský
..................................................................................................................
Балгарскі
..................................................................................................................
Íslensk
..................................................................................................................