ホームページ >ウェブフロントエンド >jsチュートリアル >JavaScript のゼロフィル右シフト演算子 (>>>) はどのように機能しますか?

JavaScript のゼロフィル右シフト演算子 (>>>) はどのように機能しますか?

Mary-Kate Olsen
Mary-Kate Olsenオリジナル
2024-12-03 17:59:10337ブラウズ

How Does JavaScript's Zero-Fill Right Shift Operator (>>>) 仕事ですか?
>>) 仕事ですか? " />

JavaScript の謎の演算子について詳しく見る: >>>

ゼロフィル右として知られる JavaScript 演算子 >>>シフト演算子は、標準の右シフト演算子とは異なり、オペランドに対してビット単位の計算を実行します。 (>>)、>>> は、シフトする前にオペランドを 32 ビット符号なし整数に変換し、結果が符号なし整数の範囲内に収まるようにします。

32 ビット符号なし整数への変換

>>> 演算子は、JavaScript で配列インデックスを処理する場合に特に便利です。ECMAScript では、この仕様との互換性を確保するために、オペランドを符号なしに変換します。 integer.

例:

var arr = [0, 1, 2, 3];
var index = -1 >>> 0; // Converts -1 to 4294967295 (unsigned integer representation)
console.log(arr[index]); // Logs 0 (the first element of the array)

非数値の変換

も役立ちます数値以外の値を 32 ビットの符号なし整数に変換します。文字列などの数値ではない場合、演算子は事実上ゼロとして扱います。

例:

var str = "hello";
var num = str >>> 0; // Converts "hello" to 0
console.log(num); // Logs 0

符号なし整数およびネガティブ

トリプル>>>演算子は、負の数を 32 ビット符号なし整数の補数として解釈します。これは、符号なし整数範囲内の符号付き整数を操作する場合に便利です。

例:

var negative = -1;
var unsigned = negative >>> 0; // Converts -1 to 4294967295
console.log(unsigned); // Logs 4294967295

概要テーブル

Operand Type >>> Operator Conversion
Number Preserves value as a 32-bit unsigned integer
Non-Number Converts to 0 (unsigned integer)
Negative Number Converted to its unsigned 32-bit integer complement

以上がJavaScript のゼロフィル右シフト演算子 (>>>) はどのように機能しますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。