Pythonで10進数から2進数への変換方法

python
記事内に広告が含まれています。

Pythonでは、10進数から2進数への変換が簡単に行えます。

特に、プログラミングやデータの処理において、数値を別の表現に変換することはよくある作業です。

この記事では、Pythonを使って効率的に10進数を2進数に変換する方法を詳しく解説します。

DMM WEBCAMP
  • 未経験者向けプログラミングスクール
  • 現役エンジニアがしっかりサポート
  • 卒業後も安心の転職・副業サポート

10進数と2進数の基本

まずは、10進数2進数の違いを理解することが重要です。

10進数は私たちが普段使用している数値表現であり、0から9までの数字を使います。

一方で、2進数はコンピュータの内部で使われる表現方法であり、0と1の2つの数字を使って数値を表現します。

10進数と2進数の違い

10進数は各桁が10の累乗を基にしていますが、2進数は各桁が2の累乗で表されます。


# 10進数の例
decimal_number = 23

# 2進数の例
binary_number = 0b10111

この例では、23が10進数であり、それを2進数では10111と表します。

数値変換の理由

数値を変換するのは、データをコンピュータが処理しやすい形式にするためです。

また、2進数を理解することで、コンピュータの内部動作をより深く理解できます。

2進数から10進数への変換

逆に、2進数から10進数に変換する方法も重要です。


binary_number = '10111'
decimal_number = int(binary_number, 2)
print(decimal_number)  # 出力: 23

このコードは、2進数の文字列を10進数に変換しています。

CodeCamp
  • 現役エンジニアからスキルを学べる
  • 満足度は驚異の97.4%
  • 300社以上のIT企業で研修に導入
  • 毎日9時〜21時まで、無料カウンセリングを開催中!

Pythonでの10進数から2進数への変換方法

Pythonでは、組み込み関数bin()を使って簡単に10進数を2進数に変換することができます。

以下に具体的な使用例を紹介します。

bin()関数の使用例

Pythonのbin()関数を使うと、10進数を簡単に2進数に変換できます。


decimal_number = 23
binary_representation = bin(decimal_number)
print(binary_representation)  # 出力: 0b10111

この例では、10進数23が2進数の表現「0b10111」に変換されます。

0bの取り扱い

bin()関数で出力される2進数は、先頭に「0b」が付きます。

この「0b」は2進数であることを示していますが、必要に応じて取り除くことが可能です。

「0b」を取り除いた出力

「0b」を取り除くには、スライスを使います。


binary_representation = bin(decimal_number)[2:]
print(binary_representation)  # 出力: 10111

このコードは、「0b」を取り除いた2進数のみを表示します。

【リモートワークには必須】
キャリアに合わせてお得に光回線を利用しよう
ドコモ光
開通後、最短一ヶ月で35,000円のキャッシュバック!
 
auひかり
難しい条件一切なしで、最大12,7000円のキャッシュバック!
 
ソフトバンク光
高額キャッシュバックや豪華特典をお届け!

逆に2進数から10進数への変換方法

Pythonでは、int()関数を使って簡単に2進数を10進数に変換できます。

次にその方法を見てみましょう。

int()関数での変換例

int()関数に2進数の文字列を渡し、基数として2を指定することで、2進数を10進数に変換できます。


binary_number = '10111'
decimal_number = int(binary_number, 2)
print(decimal_number)  # 出力: 23

このコードは、2進数の文字列’10111’を10進数の23に変換します。

例外処理の追加

ユーザーが無効な2進数を入力する可能性があるため、エラー処理を追加してみましょう。


try:
    binary_number = '10211'
    decimal_number = int(binary_number, 2)
except ValueError:
    print("無効な2進数が入力されました")

このコードでは、無効な2進数が入力された場合にエラーメッセージを表示します。

0b付き2進数の変換

2進数の値が「0b」で始まっている場合も、問題なく変換できます。


binary_number = '0b10111'
decimal_number = int(binary_number, 2)
print(decimal_number)  # 出力: 23

このコードは、「0b」で始まる2進数の文字列を10進数に変換します。

プログラミングスクール受講時には教育訓練給付制度を利用することで、受講料の最大80%の給付を受けることが可能です。

他の進数との変換

Pythonでは、16進数や8進数への変換も可能です。

このセクションでは、その他の進数との変換方法について解説します。

16進数への変換

Pythonのhex()関数を使えば、10進数を16進数に変換できます。


decimal_number = 23
hexadecimal = hex(decimal_number)
print(hexadecimal)  # 出力: 0x17

この例では、10進数23を16進数で表した「0x17」が出力されます。

8進数への変換

8進数に変換するには、oct()関数を使用します。


decimal_number = 23
octal = oct(decimal_number)
print(octal)  # 出力: 0o27

このコードは、10進数23を8進数で表した「0o27」を出力します。

進数変換の応用

これらの進数変換は、システム開発やデータ処理の際に広く使われます。

techgym
  • 20000人が学んだpythonの教材
  • 正しい情報をまとめて入手
  • 様々なゲームを作成しながら楽しくpythonが身に付く
  • 自主学習派はこれ一択!

今なら1年間有効なzoomサポート付き!

まとめ: Pythonで進数変換をマスターしよう

Pythonを使えば、10進数から2進数への変換や、その他の進数への変換も簡単に行えます。

この記事で紹介した方法を活用して、様々なデータ処理に役立ててください。

【給付金が受けられる】おすすめプログラミングスクール!
  • DMM WEBCAMP
    転職成功率98%&離職率2.3%
    転職できなければ全額返金DMM.comグループならで非公開求人も多数
  • テックアカデミー
    【転職保証】受講生の100%が内定獲得!9割以上が未経験からスタート!LINEヤフー監修&万全サポート
  • Aidemy Premium
    【給付金利用の相談歓迎】AI・データ分析学ぶならAidemy Premium
  • ウズウズカレッジ
    初心者・文系出身者でもOK、IT未経験からの専門的な就業サポート

コメント

タイトルとURLをコピーしました