Flash Lite 2 |
|||
| Flash Lite 2.x ActionScript リファレンスガイド > ActionScript 言語エレメント > 演算子 > >>> ビット単位の符号なし右シフト演算子 | |||
expression1 >>> expression2
左側のビットには常に 0 が詰められるために元の expression の符号が保持されないという点を除いて、ビット単位の右シフト (>>) 演算子と同じです。
浮動小数点数は、小数点以下が切り捨てられて整数に変換されます。正の整数は 4294967295 (0xFFFFFFFF) を最大値とする符号なし 16 進値に変換されます。最大値より大きい値は、32 ビットを超えないように、変換時に最上位の桁が切り捨てられます。負の値は、2 の補数表現を使用して、-2147483648 (0x800000000) を最小値とする符号なし 16 進値に変換されます。最小値よりも小さい値は、さらに高い精度で 2 の補数に変換された上で、最上位の桁が切り捨てられます。
使用できるバージョン : ActionScript 1.0、Flash Lite 2.0
expression1 : Number - 右にシフトされる数値または式。
expression2 : Number - 0 ~ 31 の整数に変換される数値または式。
Number - ビット演算の結果。
次の例では、-1 を 32 ビット整数に変換し、右側に 1 ビットシフトします。
var x: Number = -1 >>> 1; trace(x); // 2147483647 を出力する
これは、10 進数の -1 が 2 進数の 11111111111111111111111111111111 (1 が 32 個) であり、右に符号なしで 1 ビットシフトする場合は最下位 (右端) ビットが切り捨てられ、最上位 (左端) ビットに 0 が詰められるためです。その結果は 2 進数の 01111111111111111111111111111111 となります。これは、32 ビット整数の 2147483647 を表します。