Operator And= (Conjunction And Assign)
Performs a bitwise-and (conjunction) and assigns the result to a variable
Syntax
`
Declare Operator And= ( ByRef lhs As T1, ByRef rhs As T2 )
`
Usage
`
lhs And= rhs
`
Parameters
`lhs`
The variable to assign to.
`T1`
Any numeric or boolean type.
`rhs`
The value to perform a bitwise-and (conjunction) with `lhs`.
`T2`
Any numeric or boolean type.
Description
This operator performs a bitwise-and and assigns the result to a variable (for conversion of a boolean to an integer, false or true boolean value becomes 0 or -1 integer value). It is functionally equivalent to:
`lhs = lhs And rhs`
`And=` compares each bit of its operands, `lhs` and `rhs`, and if both bits are 1, then the corresponding bit in the first operand, `lhs`, is set to 1, otherwise it is set to 0.
`And=` cannot be used in conditional expressions.
This operator can be overloaded for user-defined types as a member `Operator` using the appropriate syntax.
Note: Similarly to the operator '=[>]' (assign), the alternative symbol 'And=>' can be also used.
Example
`
' Using the AND= operator on two numeric values
Dim As UByte numeric_value1, numeric_value2
numeric_value1 = 15 '' 00001111
numeric_value2 = 30 '' 00011110
numeric_value1 And= numeric_value2
'' Result = 14 = 00001110
Print numeric_value1
Sleep
`
Dialect Differences

- In the -lang qb dialect, this operator cannot be overloaded.

Differences from QB

- New to FreeBASIC

See also

- `And`