Python
 Computer >> コンピューター >  >> プログラミング >> Python

Pythonで10進数を2進数のリストに変換する方法

Pythonは柔軟性の高いプログラミング言語であり、データ処理の中で発生するさまざまな要件に対応できます。10進数の数値を2進数に変換し、さらに各桁をリストとして扱いたい場合には、以下に紹介する2つの方法が便利です。

format関数を使う方法

書式指定子(フォーマッター)に使う文字によって、数値を10進数・16進数・8進数・2進数など、任意の基数でフォーマットできます。以下の例では、書式指定として0:0bを使用し、format関数に2進数へ変換したい整数を渡しています。その後、文字列化した2進数を1文字ずつint型に変換してリストを作成します。

コード例

Dnum = 11

print("与えられた10進数 : " + str(Dnum))

# 10進数から2進数への変換
binnum = [int(i) for i in list('{0:0b}'.format(Dnum))]

# 結果の出力
print("変換後の2進数リスト : ", binnum)

実行結果

上記のコードを実行すると、次のような結果が得られます。

与えられた10進数 : 11
変換後の2進数リスト : [1, 0, 1, 1]

bin関数を使う方法

Pythonの組み込み関数であるbin()も、同様の目的で利用できます。bin()関数は整数を「0b」という接頭辞が付いた2進数の文字列に変換します。そのため、スライス[2:]を使って先頭の2文字(0b)を取り除き、残りの各文字をint型に変換してリストにしています。

コード例

Dnum = 11

print("与えられた10進数 : " + str(Dnum))

# 10進数から2進数への変換
binnum = [int(i) for i in bin(Dnum)[2:]]

# 結果の出力
print("変換後の2進数リスト : ", binnum)

実行結果

上記のコードを実行すると、次のような結果が得られます。

与えられた10進数 : 11
変換後の2進数リスト : [1, 0, 1, 1]

まとめ

どちらの方法でも同じ結果が得られます。format関数は桁数の指定やゼロ埋めなど柔軟な書式設定が可能な点が魅力で、bin()関数はシンプルで直感的に書けるのが特徴です。用途に応じて使い分けるとよいでしょう。

  1. Pythonで10進数を2進数に変換する方法|再帰処理とbin()関数の実装例

    この記事では、「10進数を2進数に変換する」という問題に対する解決策を、具体的なコード例とともにわかりやすく解説します。 問題の概要 問題: 与えられた10進数の整数を、それに対応する2進数表現へ変換する。 この問題を解くには、大きく分けて2つのアプローチがあります。順番に見ていきましょう。 方法1:再帰を使った実装 10進数を2進数に変換する基本的な考え方は、「数値を2で割り続け、その余りを記録する」ことです。再帰関数を使うと、除算を繰り返しながら余りを自動的に上位の桁から順に出力できます。 サンプルコード def DecimalToBinary(num): if num &g

  2. Pythonで10進数を2進数に変換する方法|再帰と組み込み関数の2つのアプローチ

    この記事では、10進数で表された数値を2進数に変換するPythonプログラムについて、その考え方と具体的な実装方法をわかりやすく解説します。 問題文 ある整数が与えられたとき、その数値を2進数に変換します。例えば、10進数の「35」は2進数では「100011」と表現されます。 アプローチ1:再帰を使った解法 再帰処理を利用すると、シンプルなコードで10進数を2進数に変換できます。基本的な流れは以下の擬似コードのとおりです。 DecToBin(num):     if num > 1:      &n