動作検証バージョン:Windows 10 + Python 3.7.3
「入力された値を2進数に変換 python」
という検索キーワードで、このサイト『インストラクターのネタ帳』へアクセスがありました。
「2進数に変換」と表現されていますけれど、10進法の数値を、2進法で表記したいということでしょう。
[スポンサードリンク]
bin関数で2進数に
組み関数のひとつbin関数を使えば、2進法で表記した文字列を取得できます。
IDLEのShellウィンドウで以下のコードを実行してみます。
n = 8
bin(n)
bin(n)
上図のとおり、プレフィクス「0b」のついた文字列「0b1000」を取得できます。
format関数で2進数に
format関数でもOKです。
n = 8
format(n, 'b')
format(n, 'b')
format関数で上記のような指定をした場合、下図のとおりプレフィックスはつきません。
format関数で2進数にして0埋めを行う
0埋めを行いたい場合は、桁数は第2引数の「0」につづけた整数で指定します。
n = 8
format(n, '08b')
以下の指定で16桁になります。format(n, '08b')
n = 8
format(n, '016b')
プレフィクス「0b」のついた8桁にするなら以下のとおりです。format(n, '016b')
n = 8
format(n, '#08b')
format(n, '#08b')
str.formatメソッドで2進数に
str.formatメソッドでも、2進法で表記された文字列を取得できます。
n = 8
'{:b}'.format(n)
'{:b}'.format(n)
str.formatメソッドで2進数にして0埋めを行う
0埋めを行う場合は以下のとおりです。
n = 8
'{:08b}'.format(num)
以下のような指定で、0埋めをして、プレフィックス「0b」もつけられます。'{:08b}'.format(num)
n = 8
'{:#08b}'.format(num)
'{:#08b}'.format(num)
最終更新日時:2020-08-25 19:49
[スポンサードリンク]