{category}

Ruby - ビット演算

>>=

だいなりいこーるしふとえんざん(演算子

意味 右シフト代入演算子


>>=とは?

>>= は右シフト代入演算子です。左辺の値を右辺の値だけ右にビットシフトし、その結果を左辺に代入します。ビット演算を簡潔に行うのに便利です。

>>=の具体的な使い方

右シフト代入演算子の基本的な使用方法

# 整数に対する右シフト代入
number = 20  # 2進数で 10100
number >>= 2  # 2ビット右にシフト

puts "結果: #{number}"  # 10進数で出力
puts "2進数表現: #{number.to_s(2)}"  # 2進数で出力

👇出力結果

結果: 5
2進数表現: 101

この例では、整数20(2進数で10100)に対して2ビット右シフトを行っています。右シフトは値を1/2、1/4、1/8...と減少させるため、結果は5(2進数で101)になります。

負の数に対する右シフト代入

# 負の数に対する右シフト代入
negative_number = -40  # 2の補数表現で11111111111111111111111111011000
negative_number >>= 2

puts "結果: #{negative_number}"
puts "2進数表現: #{negative_number.to_s(2)}"

👇出力結果

結果: -10
2進数表現: -1010

この例では、負の数-40に対して右シフトを行っています。Rubyでは負の数に対する右シフトは算術シフトとなり、符号ビットが保持されます。そのため、結果は-10になります。

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

Q. >>=演算子の意味は?
A. >>=演算子は右シフト代入演算子です。左辺の値を右辺の値だけ右にビットシフトし、その結果を左辺に代入します。
Q. 右シフトで値はどう変化する?
A. 右シフトは2のべき乗の除算と同じです。例えば、1ビット右シフトすると値が1/2に、2ビット右シフトすると1/4になります。
Q. 負の数の右シフトはどうなる?
A. Rubyでは、負の数の右シフトは算術シフトとなります。最上位ビットが1の場合、シフト後も1が埋められます。

>>=が学べる書籍の紹介

「プログラミング単語帳」を使って、プログラミングの単語を英単語のように学習してみませんか?
プログラミング単語帳には、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」カテゴリーが追加されましました!


関連するそのほかの単語

=

代入演算子

種類: 代入

||=

論理和代入演算子

種類: 代入

?:

条件演算子

種類: 制御構造

store

ハッシュに要素を追加

種類: ハッシュ操作

instance_eval

オブジェクトのコンテキストで評価

種類: eval関連