Pythonで2進数を加算する方法をわかりやすく解説
Pythonで2進数を足し算する基本の手順
Pythonでは、文字列として表現された2進数をそのまま演算することはできません。基本の手順は以下のとおりです。
- int(str, base) 関数を使い、基数に 2 を指定して2進数の文字列を整数に変換する
- 通常の数値と同じように足し算を行う
- bin() 関数を使って、計算結果を再び2進数表記の文字列に戻す
サンプルコード
実際のコード例を見てみましょう。
a = '001' b = '011' sm = int(a, 2) + int(b, 2) c = bin(sm) print(c)
このコードを実行すると、次のような出力が得られます。
0b100
出力結果の「0b」について
bin() 関数の戻り値には「0b」という接頭辞が付きます。これは、その文字列が2進数であることを示すためのものです。
もし接頭辞が不要な場合は、スライスまたは format() 関数を使って簡単に除去できます。
# スライスを使う方法 c = bin(sm)[2:] # format() を使う方法 c = format(sm, 'b') print(c) # 出力: 100
まとめ
2進数同士の加算は、int() で整数化 → 加算 → bin() で2進数化という流れが基本です。桁数の異なる2進数でも同じ手順で問題なく計算できるので、ビット演算やデータ処理の際にぜひ活用してください。
-
Pythonで素数を生成する方法をわかりやすく解説
素数とは何か? 素数とは、1とその数自身以外の正の整数では割り切れない数のことです。たとえば、2、3、5、7、11などが素数に該当します。なお、1は約数を1つしか持たないため、素数には含まれない点に注意しましょう。 Pythonで素数を判定する基本的な考え方 Pythonでは、剰余演算子「%」を使うことで、ある数が別の数で割り切れるかどうかを簡単に調べられます。x % y の結果が0であれば、xはyで割り切れることを意味します。 1から100までの範囲で素数を求める場合、各数値(仮にxとします)について、2からx-1までのすべての数で順番に割り切れるかを確認する必要があります。この処理は、二
-
Pythonでバイナリデータをファイルに書き込む方法【初心者向け解説】
Pythonでバイナリデータをファイルに書き込む方法「バイナリファイル」とは、内容が人間が読める文字(テキスト)で構成されていないファイルのことを指します。具体的には、JPEGやGIFなどの画像ファイル、MP3などの音声ファイル、WordやPDFといったドキュメント形式のファイルなど、さまざまな種類が含まれます。Pythonでは、open() 関数を使ってファイルを開く際、デフォルトでは「テキストモード」で開かれます。バイナリモードでファイルを開きたい場合は、モード指定に b を追加します。たとえば、読み書き両用のバイナリモードなら w+b のように指定します。サンプルコードf = open(