# How do I test if bit 128 is set? in vb

I would like a function that tell me if bit 128 is set in any number that I pass to the function, in vb not sure how.
###### Who is Participating?
I wear a lot of hats...

"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.

Commented:
try this:
http://forums.realbasic.com/viewtopic.php?t=8124
``````dim CRC as bytedim CRCDATA as bytedim CRCbit0 as bytedim CRCDATAbit0 as bytedim I as bytedim TestBit as byteCRC=0CRCDATA=40  &apos;inputFor I = 0 to 7 &apos; Do for all 8 bits in data byte  CRCBit0 = Bitwise.BitAnd( CRC, &b1 )  CRCDATAbit0=Bitwise.BitAnd( CRCDATA, &b1 )  TestBit = Bitwise.BitXor( CRCBit0, CRCDataBit0 )&apos; XOR bit0 of data byte and crc  CRCData = Bitwise.ShiftRight( CRCData, 1 ) &apos; Position data byte for next bit test  If TestBit = 0  then goto Shift &apos; If test bit not set, just shift CRC  CRC = Bitwise.BitXor( CRC, 24 ) &apos; If set, account for EXOR feedback \$18=24dec  Shift: &apos; Shift right the CRC byte  CRC = Bitwise.ShiftRight( CRC, 1 ) &apos; CRC bit 0 to bit bucket  if TestBit=1 then    CRC = Bitwise.BitOr( CRC,128)  END IFNext I Test bit rotates into CRC bit 7Next I
``````
0
Author Commented:
I should have mentioned that it is for use in an sql query grid, not sure if access 2007 will allow it.
0
RetiredCommented:
Do you mean bit 128 or the bit for value 128 (i.e. bit 8)

if l AND 128 then
bit8 = true
end if
0
RetiredCommented:
Hmm that is hard to read.
Here is a function
``````Function Bit8(l As Long) As Boolean
If l And 128 Then
Bit8 = True
End If
End Function
``````
0

Experts Exchange Solution brought to you by