{category}

Python - ビット演算子

~

チルダ(演算子

意味 ビット反転


~とは?

ビット演算子の一つで、数値を2進数として見て、それぞれの桁を反転させます。0は1に、1は0になります。

~の具体的な使い方

ビット反転演算の基本例

# ビット反転演算の基本例
a = 10  # 2進数で1010
result = ~a
print(f'~{a} = {result}')

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

👇出力結果

~10 = -11
10 の2進数表記: 0b1010
-11 の2進数表記: -0b1011

変数aに10を代入し、ビット反転演算子(~)を使って計算しています。aを2進数で見ると1010です。この数の各ビットを反転させると0101になりますが、Pythonでは2の補数表現を使用するため、結果は-11となります。

ビット反転を使ったビットマスクの作成

# 8ビットのマスクを作成
mask = 0b11110000
inverted_mask = ~mask & 0xFF  # 8ビットに制限

print(f'元のマスク: {bin(mask)}')
print(f'反転したマスク: {bin(inverted_mask)}')

👇出力結果

元のマスク: 0b11110000
反転したマスク: 0b1111

ビット反転は、ビットマスクの作成に役立ちます。この例では、8ビットのマスクを反転させています。&演算子と0xFFを使用して、結果を8ビットに制限しています。

~に関するよくある質問

Q. ビット反転とは何ですか?
A. ビット反転は、数値の2進表現で各ビットを反転させる操作です。0は1に、1は0になります。Pythonでは ~ 演算子を使用します。
Q. なぜ結果が負の数になるの?
A. ビット反転は符号ビットも含めて反転するため、正の数を反転すると負の数になります。具体的には、2の補数表現により、結果は -(x+1) となります。
Q. ビット反転の実用的な使用例は?
A. ビット反転は、ビットマスクの作成やビットフラグの操作、特定のビットパターンの生成などで使用されます。また、暗号化アルゴリズムの一部としても利用されることがあります。

~が学べる書籍の紹介

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

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

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」カテゴリーが追加されましました!


関連するそのほかの単語

!=

左右が異なるか判定

種類: 比較演算子

=

代入

種類: 代入演算子

/

割り算

種類: 算術演算子

time

時間管理

種類: 日付と時間

readline

ファイルの1行を読む

種類: ファイル操作