Flash Lite 2 |
|||
| Flash Lite 2.x ActionScript リファレンスガイド > ActionScript 言語エレメント > 演算子 > & ビット単位の論理積 (AND) 演算子 | |||
expression1 & expression2
expression1 と expression2 を 32 ビット符号なし整数に変換し、整数パラメータをビット単位で論理積 (AND) 演算します。浮動小数点数は、小数点以下が切り捨てられて整数に変換されます。結果は、新しい 32 ビット整数です。
正の整数は 4294967295 (0xFFFFFFFF) を最大値とする符号なし 16 進値に変換されます。最大値より大きい値は、32 ビットを超えないように、変換時に最上位の桁が切り捨てられます。負の値は、2 の補数表現を使用して、-2147483648 (0x800000000) を最小値とする符号なし 16 進値に変換されます。最小値よりも小さい値は、さらに高い精度で 2 の補数に変換された上で、最上位の桁が切り捨てられます。
戻り値は符号付きの 2 の補数として解釈されるため、戻り値は -2147483648 ~ 2147483647 の整数になります。
使用できるバージョン : ActionScript 1.0、Flash Lite 2.0 - Flash 4 では、AND (&) 演算子は、ストリングを連結するために使用されていました。Flash 5 以降では、AND (&) 演算子はビット単位の論理積 (AND) 演算子であり、ストリングを連結するには、加算 (+) 演算子を使用する必要があります。AND (&) 演算子を使用する Flash 4 ファイルを Flash 5 オーサリング環境に読み込むと、加算 (+) 演算子を使用するように自動的に更新されます。
メモ : この演算子の動作は、Flash Lite ではバージョンによって異なります。たとえば、Flash Lite 2.0 は、AND (&) 演算子をビット単位の論理積 (AND) としてサポートしています。Flash Lite 2.0 でストリングを連結するには、加算 (+) 演算子を使用する必要があります。ただし、Flash Lite 1.x では、AND (&) 演算子を使用して、ストリングを連結することができます。
expression1 : Number - 数値。
expression2 : Number - 数値。
Number - ビット演算の結果。
次の例では、数値のビット表現を比較し、同じ位置のビットが共に 1 であった場合にのみ 1 を返します。次の ActionScript コードでは、13 (2 進数 1101) と 11 (2 進数 1011) を加算し、両方とも 1 の桁について 1 を返します。
var insert: Number = 13; var update: Number = 11; trace(insert & update); // 9 (または 2 進数 1001) を出力する
2 つの数値のうち、共に 1 が立っているのは先頭と末尾の桁だけであるため、13 と 11 の演算結果は 9 になります。
次の例は、戻り値の変換の動作を示しています。
trace(0xFFFFFFFF); // 4294967295 trace(0xFFFFFFFF & 0xFFFFFFFF); // -1 trace(0xFFFFFFFF & -1); // -1 trace(4294967295 & -1); // -1 trace(4294967295 & 4294967295); // -1
&= ビット単位の論理積 (AND) 代入演算子, ^ ビット単位の排他的論理和 (XOR) 演算子, ^= ビット単位の排他的論理和 (XOR) 代入演算子, | ビット単位の論理和 (OR) 演算子, |= ビット単位の排他的論理和 (OR) 代入演算子, ~ ビット単位の否定 (NOT) 演算子