^ ビット単位の排他的論理和 (XOR) 演算子

expression1 ^ expression2

expression1expression2 を 32 ビット符号なし整数に変換し、expression1expression2 の対応ビットのいずれか一方のみが 1 である各ビット位置に 1 を返します。浮動小数点数は、小数点以下が切り捨てられて整数に変換されます。結果は、新しい 32 ビット整数です。

正の整数は 4294967295 (0xFFFFFFFF) を最大値とする符号なし 16 進値に変換されます。最大値より大きい値は、32 ビットを超えないように、変換時に最上位の桁が切り捨てられます。負の値は、2 の補数表現を使用して、-2147483648 (0x800000000) を最小値とする符号なし 16 進値に変換されます。最小値よりも小さい値は、さらに高い精度で 2 の補数に変換された上で、最上位の桁が切り捨てられます。

戻り値は符号付きの 2 の補数として解釈されるため、戻り値は -2147483648 ~ 2147483647 の整数になります。

使用できるバージョン : ActionScript 1.0、Flash Lite 2.0

オペランド

expression1 : Number - 数値。

expression2 : Number - 数値。

戻り値

Number - ビット演算の結果。

次の例では、ビット単位の排他的論理和 (XOR) 演算子を 10 進数である 15 および 9 に適用し、その結果を変数 x に代入します。

// 10 進数の 15 = 2 進数の 1111 
// 10 進数の 9 = 2 進数の 1001 
var x: Number = 15 ^ 9; 
trace(x); 
// 1111 ^ 1001 = 0110 
// 10 進数の 6 (2 進数の 0110) 

関連項目

& ビット単位の論理積 (AND) 演算子, &= ビット単位の論理積 (AND) 代入演算子, ^= ビット単位の排他的論理和 (XOR) 代入演算子, | ビット単位の論理和 (OR) 演算子, |= ビット単位の排他的論理和 (OR) 代入演算子, ~ ビット単位の否定 (NOT) 演算子