0
Can someone explain what this --> & <-- do and for what I need this?
2 ответов
+ 2
Its used mostly, like a logic operator, and means "and". It's used to check expresions like this.
"if( a<b && a<c)"
in this code, you are checking that A its lower than B, AND A is lower than c.
It can be used also to pass reference values, but that its not the most frecuent use.
+ 2
If you are working with pointers the '&' operator is used to assign the address of a variable to a pointer.
Ex:
int a = 3;
int* p = &a // assign the address of the variable 'a' to the pointer 'p'.
In this context the '&' operator is the 'address of' operator.
If the '&' operator is used in a logical context it is the 'bitwise AND' operator. Bitwise operators perform bit by bit operations, in this case AND.
If the two bits are 1 the result is 1, otherwise is 0.
AND table:
a b a & b
0 0 0
0 1 0
1 0 0
1 1 1
Ex.
int a = 20; // 00010100 in binary
int b = 5; // 00000101 in binary
int c = a & b // 00000100 in binary, 4 in decimal.
AND table:
a b a & b
0 0 0
0 0 0
0 0 0
1 0 0
0 0 0
1 1 1
0 0 0
0 1 0