{category}

Ruby - ビット演算

<<

ダブルレスザン(演算子

意味 左シフト演算子


<<とは?

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

<<の具体的な使い方

整数の左シフト

number = 5
shifted = number << 2
puts "#{number}を2ビット左シフトすると#{shifted}になります。"
puts "これは#{number} * (2**2) = #{number * (2**2)}と同じ結果です。"

👇出力結果

5を2ビット左シフトすると20になります。
これは5 * (2**2) = 20と同じ結果です。

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

配列への要素追加

array = [1, 2, 3]
array << 4
puts "配列に4を追加: #{array}"

array << 5 << 6
puts "さらに5と6を追加: #{array}"

👇出力結果

配列に4を追加: [1, 2, 3, 4]
さらに5と6を追加: [1, 2, 3, 4, 5, 6]

<<演算子は配列に要素を追加する際にも使用できます。この使い方は「ショベル演算子」とも呼ばれ、配列の末尾に新しい要素を追加します。

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

Q. 左シフト演算子の用途は?
A. 左シフト演算子(<<)は主に2つの用途があります。1つは整数の高速な乗算で、2のべき乗を掛けるのと同じ効果があります。もう1つはビット操作で、ビットを左に移動させる際に使用します。
Q. 左シフトと乗算の関係は?
A. 左シフト演算(n << m)は、nに2のm乗を掛けるのと同じ結果になります。例えば、5 << 2 は5 * (2^2) = 20 と同じです。これは乗算よりも高速に処理できるため、パフォーマンスが重要な場面で使用されます。
Q. 負の数の左シフトはどうなる?
A. 負の数に対しても左シフトは同様に機能しますが、結果は負の数のままです。例えば、-5 << 2 は -20 になります。ただし、シフト量が大きすぎると予期せぬ結果になる可能性があるので注意が必要です。

<<が学べる書籍の紹介

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


関連するそのほかの単語

~

ビット反転演算子

種類: ビット演算

>>=

右シフト代入演算子

種類: ビット演算

||=

論理和代入演算子

種類: 代入

-=

減算代入演算子

種類: 演算子

it

個別のテストケースを定義するメソッド

種類: RSpec