Flash Lite 2.x and 3.0 ActionScript Language Reference

& bitwise AND operator

expression1 & expression2

Converts expression1 and expression2 to 32-bit unsigned integers, and performs a Boolean AND operation on each bit of the integer parameters. Floating-point numbers are converted to integers by discarding any digits after the decimal point. The result is a new 32-bit integer.

Positive integers are converted to an unsigned hex value with a maximum value of 4294967295 or 0xFFFFFFFF; values larger than the maximum have their most significant digits discarded when they are converted so the value is still 32-bit. Negative numbers are converted to an unsigned hex value using the two's complement notation, with the minimum being -2147483648 or 0x800000000; numbers less than the minimum are converted to two's complement with greater precision and then have the most significant dig its discarded as well.

The return value is interpreted as a signed two's complement number, so the return is an integer in the range -2147483648 to 2147483647.

Operands

expression1 : Number - A number.

expression2 : Number - A number.

Returns

Number - The result of the bitwise operation.

Example

The following example compares the bit representation of the numbers and returns 1 only if both bits at the same position are 1. In the following ActionScript code, you add 13 (binary 1101) and 11 (binary 1011) and return 1 only in the position where both numbers have a 1.

var insert:Number = 13; 
var update:Number = 11; 
trace(insert & update); // output : 9 (or 1001 binary) 

In the numbers 13 and 11 the result is 9 because only the first and last positions in both numbers have the number 1.

The following example shows the behavior of the return value conversion:

trace(0xFFFFFFFF); // 4294967295 
trace(0xFFFFFFFF & 0xFFFFFFFF); // -1 
trace(0xFFFFFFFF & -1); // -1 
trace(4294967295 & -1); // -1 
trace(4294967295 & 4294967295); // -1 

See also

&= bitwise AND assignment operator, ^ bitwise XOR operator, ^= bitwise XOR assignment operator, | bitwise OR operator, |= bitwise OR assignment operator, ~ bitwise NOT operator