{category}

Ruby - ビット演算

>>

ダブルグレーターザン(演算子

意味 右シフト演算子


>>とは?

>>(ダブルグレーターザン)は、Rubyで右シフト演算を行うための演算子です。整数のビット表現を指定した数だけ右にずらし、左側には符号ビットが追加されます。これは2のべき乗の除算(切り捨て)と同じ効果があります。

>>の具体的な使い方

整数の右シフト

number = 20
shifted = number >> 2
puts "#{number}を2ビット右シフトすると#{shifted}になります。"
puts "これは#{number} / (2**2) = #{number / (2**2)}の整数部分と同じ結果です。"

👇出力結果

20を2ビット右シフトすると5になります。
これは20 / (2**2) = 5の整数部分と同じ結果です。

整数を右シフトすると、ビットが右に移動し、2のべき乗で割るのと同じ効果があります(小数点以下切り捨て)。この例では、20(二進数で10100)を2ビット右にシフトして5(二進数で101)を得ています。

負の数の右シフト

negative = -40
shifted = negative >> 2
puts "#{negative}を2ビット右シフトすると#{shifted}になります。"
puts "これは#{negative} / (2**2) = #{negative / (2**2)}の整数部分と同じ結果です。"

👇出力結果

-40を2ビット右シフトすると-10になります。
これは-40 / (2**2) = -10の整数部分と同じ結果です。

負の数を右シフトすると、符号は保持されます。この例では、-40を2ビット右シフトして-10を得ています。これは-40を4で割った結果の整数部分と同じです。

>>に関するよくある質問

Q. 右シフト演算子の用途は?
A. 右シフト演算子(>>)は主に2つの用途があります。1つは整数の高速な除算で、2のべき乗で割るのと同じ効果があります(小数点以下切り捨て)。もう1つはビット操作で、ビットを右に移動させる際に使用します。
Q. 右シフトと除算の関係は?
A. 右シフト演算(n >> m)は、nを2のm乗で割った結果の整数部分と同じになります。例えば、20 >> 2 は20 / (2^2) = 5 と同じです。これは除算よりも高速に処理できるため、パフォーマンスが重要な場面で使用されます。
Q. 負の数の右シフトはどうなる?
A. 負の数に対する右シフトは、言語や実装によって動作が異なる場合があります。Rubyでは、負の数の右シフトでも符号は保持されます。例えば、-20 >> 2 は -5 になります。ただし、詳細な動作はRubyのバージョンや実装によって異なる可能性があるので注意が必要です。

>>が学べる書籍の紹介

「プログラミング単語帳」を使って、プログラミングの単語を英単語のように学習してみませんか?
プログラミング単語帳には、Rubyの>>や=、...、&&=、などのような実務でよく使われる単語が数百以上収録されています。
この書籍には、プログラミングの単語の意味や読み方、単語の使い方がわかる例文などが掲載されており、いつでもどこでもプログラミングの学習ができます。

よく使われる単語にだけ絞って学習することができるので、効率的にプログラミングが学習できます。

1日5分の暗記でプログラミンが身に付く!プログラミング単語帳 公式ストアで発売中!

HTML編、CSS編、JavaScript編、PHP編、Ruby編、その他単語編の6シリーズ分が公式ストアにて販売中です。気になった方はぜひ購入してみてください。


Rubyを学べる「プログラミング単語帳」アプリ

プログラミング単語帳がアプリになりました!Rubyはもちろん、10種類のプログラミング言語の中から、よく使われる単語をスマホで学習できます。

収録単語は2,000単語以上!
現在は、HTML、CSS、JavaScirpt、PHP、Laravel、Ruby、Python、MySQL、Linux、など10カテゴリーの単語帳が1つのアプリに収録されています。

いつでも、どこでも、隙間時間を有効活用して、プログラミングを効率的に学べるので、ぜひダウンロードしてみてください。

2024年7月アップデート情報:「Laravel」カテゴリーが追加されましました!

2024年8月アップデート情報:「MySQL」「Linux」カテゴリーが追加されましました!


関連するそのほかの単語

=

代入演算子

種類: 代入

...

終端を含まない範囲演算子

種類: 範囲

&&=

論理積と代入を同時に行う

種類: 論理演算子

Integer

整数を表すデータ型

種類: 基本データ型

Rails

Webアプリケーションフレームワーク

種類: 人気のある外部ライブラリ