Wiki source for KeyPgOpCombineAnd


Show raw source

{{fbdoc item="title" value="Operator AND= (Conjunction and Assign)"}}----
Performs a bitwise-and (conjunction) and assigns the result to a variable

{{fbdoc item="syntax"}}##
[[KeyPgDeclare|declare]] [[KeyPgOperator|operator]] **And=** ( [[KeyPgByref|byref]] //lhs// [[KeyPgAs|as]] //T1//, [[KeyPgByref|byref]] //rhs// [[KeyPgAs|as]] //T2// )
##
{{fbdoc item="usage"}}##
//lhs// **And=** //rhs//
##
{{fbdoc item="param"}}
##//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.

{{fbdoc item="desc"}}
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// [[KeyPgOpAnd|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 ##[[KeyPgOperator|Operator]]## using the appropriate syntax.

//Note: Similarly to the operator '=[>]' (assign), the alternative symbol 'And=>' can be also used.//

{{fbdoc item="ex"}}
{{fbdoc item="filename" value="examples/manual/operator/and-assign.bas"}}%%(freebasic)
' 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
%%

{{fbdoc item="lang"}}
- In the //[[CompilerOptlang|-lang qb]]// dialect, this operator cannot be overloaded.

{{fbdoc item="diff"}}
- New to ""FreeBASIC""

{{fbdoc item="see"}}
- ##[[KeyPgOpAnd|And]]##

{{fbdoc item="back" value="CatPgOpAssignment|Assignment Operators"}}{{fbdoc item="back" value="CatPgOperators|Operators"}}
Valid XHTML :: Valid CSS: :: Powered by WikkaWiki



sf.net phatcode