Untuk mengonversi bilangan bulat menjadi biner, saya telah menggunakan kode ini:
>>> bin(6)
'0b110'
dan kapan menghapus '0b', saya menggunakan ini:
>>> bin(6)[2:]
'110'
Apa yang dapat saya lakukan jika saya ingin menunjukkan 6
sebagai 00000110
bukan 110
?
Jawaban:
Hanya untuk menjelaskan bagian-bagian dari string pemformatan:
{}
menempatkan variabel ke dalam string0
mengambil variabel pada posisi argumen 0:
menambahkan opsi pemformatan untuk variabel ini (selain itu akan mewakili desimal6
)08
memformat angka menjadi delapan digit nol-empuk di sebelah kirib
mengubah angka menjadi representasi binernyaJika Anda menggunakan versi Python 3.6 atau lebih tinggi, Anda juga bisa menggunakan f-string:
sumber
0
berarti0th
argumen untukformat
. Setelah titik dua adalah format, yang kedua0
berarti nol mengisi hingga 8 spasi danb
untuk binerformat()
fungsi :format(6, '08b')
; fungsi mengambil nilai (apa{..}
slot berlaku untuk) dan spesifikasi pemformatan (apa pun yang akan Anda masukkan setelah:
dalam string pemformatan).'{0:08b}'.format(-6)
->'-0000110'
. bagaimana jika Anda tidak ingin tanda?struct
?-6%256
?Hanya ide lain:
Cara yang lebih pendek melalui interpolasi string ( Python 3.6+ ):
sumber
bin(-6)[2:].zfill(8)
bertuliskan'0000b110'
Metode yang agak membingungkan ...
sumber
x
ke kanan dan AND dengan1
, secara efektif mengekstraksi satu bit (0 atau 1) pada suatu waktu.Cukup gunakan fungsi format
Bentuk umumnya adalah
sumber
1000000 loops, best of 3: 556 ns per loop
Jawaban eumiro lebih baik, namun saya hanya memposting ini untuk variasi:
sumber
'%08x' % int(bin(6)[2:], 16)
.. atau jika Anda tidak yakin harus selalu 8 digit, Anda dapat meneruskannya sebagai parameter:
sumber
numpy.binary_repr(num, width=None)
memiliki argumen lebar ajaibContoh yang relevan dari dokumentasi yang ditautkan di atas:
sumber
Going Old School selalu berhasil
sumber
number=number/2
memberi float, jadinumber=number//2
jahitan lebih baik, juga saya akan gantinumber=number//2
dengannumber//=2
danb=b+"0"
denganb+="0"
atau
sumber
Dengan asumsi Anda ingin mem-parsing jumlah digit yang digunakan untuk mewakili dari variabel yang tidak selalu konstan, cara yang baik adalah dengan menggunakan numpy.binary.
bisa berguna saat Anda menerapkan biner ke set daya
sumber
Cara terbaik adalah menentukan format.
mengembalikan nilai biner dari dalam format string.
Untuk mengonversi string biner kembali ke integer, gunakan fungsi int ().
mengembalikan nilai integer dari string biner.
sumber
sumber