[解決済み】2進数に変換して先頭のゼロを維持したい
2022-04-12 21:48:58
質問
Pythonのbin()関数を使って、整数を2進数に変換しようとしています。しかし、それは常に私が実際に必要とする先頭のゼロを削除し、結果が常に8ビットになるようにします。
例
bin(1) -> 0b1
# What I would like:
bin(1) -> 0b00000001
このような方法はあるのでしょうか?
どのように解決するのですか?
を使用します。
format()
機能
:
>>> format(14, '#010b')
'0b00001110'
は
format()
の後に続く入力を単純にフォーマットします。
書式指定ミニ言語
. また
#
は、書式に
0b
というプレフィックスがあり
010
は10文字幅に収まるように出力をフォーマットします。
0
は2文字、パディングは
0b
がプレフィックス、残りの8個が2進数です。
これは最もコンパクトで直接的なオプションです。
結果をより大きな文字列で表現する場合は
フォーマットされた文字列リテラル
(3.6+)または
str.format()
の第2引数に
format()
関数はプレースホルダのコロンの後に
{:..}
:
>>> value = 14
>>> f'The produced output, in binary, is: {value:#010b}'
'The produced output, in binary, is: 0b00001110'
>>> 'The produced output, in binary, is: {:#010b}'.format(value)
'The produced output, in binary, is: 0b00001110'
たまたま、単一の値をフォーマットする場合でさえ、フォーマットされた文字列リテラルを使用する方が
format()
:
>>> import timeit
>>> timeit.timeit("f_(v, '#010b')", "v = 14; f_ = format") # use a local for performance
0.40298633499332936
>>> timeit.timeit("f'{v:#010b}'", "v = 14")
0.2850222919951193
しかし、これはタイトなループでのパフォーマンスが重要な場合にのみ使用します。
format(...)
の方が意図が伝わります。
が必要ない場合は
0b
プレフィックスを削除します。
#
で、フィールドの長さを調整します。
>>> format(14, '08b')
'00001110'
関連
-
[解決済み】「SyntaxError.Syntax」は何ですか?Missing parentheses in call to 'print'」はPythonでどういう意味ですか?
-
[解決済み】"No JSON object could be decoded "よりも良いエラーメッセージを表示する。
-
[解決済み] バイトを文字列に変換する
-
[解決済み] 最小限の驚き」と「変更可能なデフォルトの引数
-
[解決済み] 1ビットのセット、クリア、トグルはどのように行うのですか?
-
[解決済み] Python 3で「1000000000000000 in range(1000000000000001)」はなぜ速いのですか?
-
[解決済み] JavaScriptでカンマを桁区切りにして数値を表示する方法
-
[解決済み] モジュールの関数名(文字列)を使って、モジュールの関数を呼び出す。
-
[解決済み] 複数行の長い文字列を作成するためのPythonicな方法
-
[解決済み] シェルコマンドの実行と出力のキャプチャ
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
PythonによるLeNetネットワークモデルの学習と予測
-
python call matlab メソッドの詳細
-
Pythonの@decoratorsについてまとめてみました。
-
[解決済み】RuntimeWarning: invalid value encountered in double_scalars で numpy の除算ができない。
-
[解決済み】 NameError: グローバル名 'xrange' は Python 3 で定義されていません。
-
[解決済み】csv.Error:イテレータはバイトではなく文字列を返すべき
-
[解決済み】 AttributeError: モジュール 'matplotlib' には属性 'plot' がない。
-
[解決済み】 AttributeError("'str' object has no attribute 'read'")
-
[解決済み】Python - "ValueError: not enough values to unpack (expected 2, got 1)" の修正方法 [閉店].
-
[解決済み] Python int to binary string?