edit: Sorry yeah

0 == false

Sounds like you got it - just imagine like you're working with 1 bit and the value is either TRUE (== 1 or 'not 0') or False(==0)
Ok
& = BitWise AND, while on the flipside
&& = LOGIC AND
You understand BITWISE AND as you described above
you 'AND' every bit in the value A with the matching bit in Value B
What do we know about TRUE & False? False is usually '0' and TRUE is usually 1 (or more) or expressed in 'logic': True is NOT 0
Code:
0111 = 7
1000 = 8
____&
0000 = false
or say
1110 = 14
0100 = 4
_________ &
0100 = 4 ; this is NOT 0 (False) so it has to be 'True'
Keeping mind that 0==False and TRUE is anything that is NOT 0
The logic comparison you wrote is basically saying:
7 AND 8:
is 7 the same as 0(FALSE)? No, so that operand translates into 'TRUE'
is 8 the same as 0(FALSE)? No, So this operand also is 'TRUE'
So you end up with : TRUE and TRUE (or 1 and 1 if you will) which results in TRUE (1)