Different uses of AND function

M

Mathieu936

Hi!

I have a code from an unknow author which I try to understand, but I
can't! Can you help me guys?

The code is:

Function bitcheck(ival As Integer, ibit As Integer)
bitcheck = 0
If (ival And 2 ^ ibit) > 0 Then bitcheck = 1
End Function

But when I change the If statement for this:
If ival > 0 and 2 ^ ibit > 0 then bitcheck = 1

the function does not give the same answer. Why??

Thanks!
 
S

Scossa

Hi!

I have a code from an unknow author which I try to understand, but I
can't! Can you help me guys?

The code is:

Function bitcheck(ival As Integer, ibit As Integer)
   bitcheck = 0
   If (ival And 2 ^ ibit) > 0 Then bitcheck = 1
End Function

in this code AND is used as binary operator:

debug.print 3 AND 2 ' -> 11 and 10 -> 10 = 2
debug.print 2 AND 2 ' -> 10 and 10 -> 10 = 2
debug.print 1 AND 2 ' -> 01 and 10 -> 00 = 0
debug.print 3 AND 1 ' -> 11 and 01 -> 01 = 1

   If ival > 0 and 2 ^ ibit > 0 then bitcheck = 1

in your code AND is used as logic operator:
debug.print true and true -> true
debig.print false and true -> false

Bye!
Scossa
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top