{category}

Python - ビット演算子

<<

シフト(演算子

意味 ビット左シフト


<<とは?

ビット演算子の一つで、数値を2進数として見て、指定した桁数だけ左にビットをずらします。空いたビットには0が埋められます。

<<の具体的な使い方

ビット左シフトの基本例

# ビット左シフトの基本例
a = 10  # 2進数で1010
result = a << 2
print(f'{a} << 2 = {result}')

# 2進数表記で確認
print(f'{a} の2進数表記: {bin(a)}')
print(f'{result} の2進数表記: {bin(result)}')

👇出力結果

10 << 2 = 40
10 の2進数表記: 0b1010
40 の2進数表記: 0b101000

変数aに10を代入し、ビット左シフト演算子(<<)を使って2ビット左にシフトしています。aを2進数で見ると1010です。これを2ビット左にシフトすると101000になり、10進数で40に相当します。

ビット左シフトを使った高速な乗算

# 2の累乗倍の高速な計算
base = 5
for i in range(5):
    result = base << i
    print(f'{base} * 2^{i} = {base} << {i} = {result}')

👇出力結果

5 * 2^0 = 5 << 0 = 5
5 * 2^1 = 5 << 1 = 10
5 * 2^2 = 5 << 2 = 20
5 * 2^3 = 5 << 3 = 40
5 * 2^4 = 5 << 4 = 80

ビット左シフトは2の累乗倍の乗算を高速に行えます。この例では、5に対して2^0から2^4までを掛けた結果を、左シフト演算子を使って計算しています。

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

Q. ビット左シフトとは何ですか?
A. ビット左シフトは、数値の2進表現を指定したビット数だけ左にずらす操作です。右側に0が追加されます。Pythonでは << 演算子を使用します。
Q. 左シフトと乗算の関係は?
A. ビット左シフトは、2の累乗倍の乗算と同じ効果があります。n ビット左シフトすると、元の数に 2^n を掛けたのと同じ結果になります。
Q. 左シフトの実用的な使用例は?
A. ビット左シフトは、高速な乗算(2の累乗倍)、ビットフラグの設定、ハッシュ関数の実装、データ圧縮アルゴリズムなどで使用されます。

<<が学べる書籍の紹介

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

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

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

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


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

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

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

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

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

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


関連するそのほかの単語

^=

べき乗して代入

種類: 代入演算子

in

含まれているか

種類: メンバーシップ演算子

|=

ビット単位ORと代入

種類: 代入演算子

datetime

日付と時刻を扱う

種類: 日付と時間

not

条件を反転

種類: 条件式