Webエンジニア向けプログラミング解説動画をYouTubeで配信中!
▶ チャンネル登録はこちら

【JavaScript ECMAScript】Unsigned right shift (>>>)演算子の使い方

Unsigned right shift (>>>)演算子の使い方について、初心者にもわかりやすく解説します。

作成日: 更新日:

基本的な使い方

Unsigned right shift (>>>)演算子は、JavaScriptにおけるビット演算子の一つです。この演算子は、数値のビット表現を右方向に指定された回数分シフトします。最大の特徴は、「符号なし」である点です。通常の右シフト(>>)が最上位ビット(符号ビット)を維持してシフトするのに対し、>>>は最上位ビットにも常に0を挿入してシフトします。これにより、負の数に適用した場合でも結果は常に非負の整数になります。

演算を実行する前に、オペランド(操作対象の数値)を32ビットの符号なし整数に変換します。JavaScriptの数値が通常64ビット浮動小数点数であることを考慮すると、この32ビットへの変換プロセスは、この演算子の振る舞いを理解する上で重要なポイントです。

主にビット単位でのデータの操作や、特定のアルゴリズムにおいて、負の数を正数として扱いたい場合などに利用されます。例えば、数値の最上位ビットが符号として使われるようなシステムでビット操作を行う際、この演算子を使うことで意図しない符号の変化を防ぎ、結果を常に正の値として扱うことができます。数値のビット列を完全に正の整数として扱いたい場合に非常に有効な手段です。

公式リファレンス: Unsigned right shift (>>>)

構文(syntax)

1const result = 10 >>> 1;

引数(parameters)

value, shiftAmount

  • value: number: シフト操作を行う数値
  • shiftAmount: number: 右にシフトするビット数

戻り値(return)

number

オペランドのビット列を、指定されたビット数だけ右にシフトした結果を返します。シフトによって空いた最上位ビットには、常に0が挿入されます。

関連コンテンツ

関連プログラミング言語