En efecto SON OPERACIONES BINARIAS mas no Booleanas de hecho el resultado es Binario mas no Booleano, de forma habitual se usan para enmascarar Bits ( No los Bytes OJO )
Me referia a que se usan para obtener valores binarios convertidos en booleanos al vuelo.Se usan para operar entre binarios y booleanos actuando como binarios (True <> 0, False = 0) Tal como son las condiciones (if en este caso)