Để chuyển đổi số nguyên thành nhị phân, tôi đã sử dụng mã này:
>>> bin[6]
'0b110'
Và khi nào để xóa '0b', tôi sử dụng điều này:
>>> bin[6][2:]
'110'
Tôi có thể làm gì nếu tôi muốn hiển thị
>>> '{0:08b}'.format[6]
'00000110'
5 là >>> '{0:08b}'.format[6]
'00000110'
6 thay vì >>> '{0:08b}'.format[6]
'00000110'
7?
just-Luka
Huy hiệu vàng 3171 Huy hiệu bạc18 Huy hiệu đồng1 gold badge4 silver badges18 bronze badges
Khi được hỏi ngày 2 tháng 5 năm 2012 lúc 9:31May 2, 2012 at 9:31
1
>>> '{0:08b}'.format[6]
'00000110'
Chỉ để giải thích các phần của chuỗi định dạng:
8 đặt một biến vào một chuỗi>>> '{0:08b}'.format[6] '00000110'
9 lấy biến tại vị trí đối số 0>>> '{0:08b}'.format[6] '00000110'
0 Thêm các tùy chọn định dạng cho biến này [nếu không nó sẽ đại diện cho thập phân>>> f'{6:08b}' '00000110'
5]>>> '{0:08b}'.format[6] '00000110'
2 Định dạng số đến tám chữ số bằng 0 được gắn bên trái>>> f'{6:08b}' '00000110'
3 chuyển đổi số thành đại diện nhị phân của nó>>> f'{6:08b}' '00000110'
Nếu bạn đang sử dụng phiên bản Python 3.6 trở lên, bạn cũng có thể sử dụng F-Strings:
>>> f'{6:08b}'
'00000110'
Trebledj
8.2367 Huy hiệu vàng24 Huy hiệu bạc46 Huy hiệu đồng7 gold badges24 silver badges46 bronze badges
Đã trả lời ngày 2 tháng 5 năm 2012 lúc 9:32May 2, 2012 at 9:32
Eumiroeumiroeumiro
200K34 Huy hiệu vàng295 Huy hiệu bạc259 Huy hiệu Đồng34 gold badges295 silver badges259 bronze badges
5
Chỉ là một ý tưởng khác:
>>> bin[6][2:].zfill[8]
'00000110'
Cách ngắn hơn thông qua nội suy chuỗi [Python 3.6+]:Python 3.6+]:
>>> f'{6:08b}'
'00000110'
Đã trả lời ngày 2 tháng 5 năm 2012 lúc 9:37May 2, 2012 at 9:37
mshsayemmshsayemmshsayem
17.2k11 Huy hiệu vàng61 Huy hiệu bạc67 Huy hiệu đồng11 gold badges61 silver badges67 bronze badges
3
Một phương pháp xoay một chút ...
>>> bin8 = lambda x : ''.join[reversed[ [str[[x >> i] & 1] for i in range[8]] ] ]
>>> bin8[6]
'00000110'
>>> bin8[-3]
'11111101'
marbel82
8871 Huy hiệu vàng18 Huy hiệu bạc39 Huy hiệu đồng1 gold badge18 silver badges39 bronze badges
Đã trả lời ngày 2 tháng 5 năm 2012 lúc 10:07May 2, 2012 at 10:07
Sobelsobelsobel
6335 Huy hiệu bạc8 Huy hiệu Đồng5 silver badges8 bronze badges
3
Chỉ cần sử dụng hàm định dạng
format[6, "08b"]
Hình thức chung là
format[, ""]
Đã trả lời ngày 7 tháng 4 năm 2016 lúc 20:16Apr 7, 2016 at 20:16
TheonetheonetheOne
4014 Huy hiệu bạc4 Huy hiệu đồng4 silver badges4 bronze badges
1
Câu trả lời của Eumiro tốt hơn, tuy nhiên tôi chỉ đăng bài này cho Variety:
>>> "%08d" % int[bin[6][2:]]
00000110
Đã trả lời ngày 2 tháng 5 năm 2012 lúc 9:35May 2, 2012 at 9:35
Jedwardsjedwardsjedwards
28.9K3 Huy hiệu vàng62 Huy hiệu bạc90 Huy hiệu Đồng3 gold badges62 silver badges90 bronze badges
0
>>> f'{6:08b}'
'00000110'
4 có đối số chiều rộng ma thuật
>>> f'{6:08b}'
'00000110'
Các ví dụ có liên quan từ tài liệu được liên kết ở trên:
0>>> bin[6][2:] '110'
Hai bổ sung được trả về khi số đầu vào âm và chiều rộng được chỉ định:
1>>> bin[6][2:] '110'
Đã trả lời ngày 1 tháng 5 năm 2019 lúc 2:11May 1, 2019 at 2:11
Tom Haletom HaleTom Hale
36.3k27 Huy hiệu vàng166 Huy hiệu bạc226 Huy hiệu Đồng27 gold badges166 silver badges226 bronze badges
.. Hoặc nếu bạn không chắc nó phải luôn là 8 chữ số, bạn có thể chuyển nó dưới dạng tham số:
>>> bin[6][2:]
'110'
2Đã trả lời ngày 2 tháng 5 năm 2012 lúc 9:47May 2, 2012 at 9:47
Thebjornthebjornthebjorn
25.3k10 Huy hiệu vàng88 Huy hiệu bạc134 Huy hiệu đồng10 gold badges88 silver badges134 bronze badges
Đi học cũ luôn làm việc
>>> bin[6][2:]
'110'
3Đã trả lời ngày 8 tháng 6 năm 2018 lúc 16:40Jun 8, 2018 at 16:40
4
Cách tốt nhất là chỉ định định dạng.
>>> bin[6][2:]
'110'
4Trả về giá trị nhị phân của một định dạng chuỗi.
Để chuyển đổi chuỗi nhị phân trở lại chức năng Integer, hãy sử dụng hàm int [].
>>> bin[6][2:]
'110'
5Trả về giá trị số nguyên của chuỗi nhị phân.
Đã trả lời ngày 27 tháng 4 năm 2020 lúc 3:18Apr 27, 2020 at 3:18
PranjalyapranjalyaPranjalya
682 Huy hiệu bạc7 Huy hiệu đồng2 silver badges7 bronze badges
1
Ngay cả một cách dễ dàng hơn
>>> bin[6][2:]
'110'
6
Đã trả lời ngày 11 tháng 9 năm 2020 lúc 2:33Sep 11, 2020 at 2:33
Raad Altaieraad AltaieRaad Altaie
8051 Huy hiệu vàng16 Huy hiệu bạc26 Huy hiệu đồng1 gold badge16 silver badges26 bronze badges
Giả sử bạn muốn phân tích số lượng các chữ số được sử dụng để biểu diễn từ một biến không phải lúc nào cũng không đổi, một cách tốt sẽ là sử dụng Numpy.Binary.
có thể hữu ích khi bạn áp dụng các bộ nhị phân cho bộ năng lượng
>>> bin[6][2:]
'110'
7Đã trả lời ngày 11 tháng 3 năm 2020 lúc 13:31Mar 11, 2020 at 13:31
Amaamaama
531 Huy hiệu bạc7 Huy hiệu đồng1 silver badge7 bronze badges
Bạn có thể sử dụng chỉ:
>>> bin[6][2:]
'110'
8Theo tôi, đây là cách dễ nhất!
Đã trả lời ngày 11 tháng 8 năm 2020 lúc 17:21Aug 11, 2020 at 17:21
LehalehaLeha
336 Huy hiệu Đồng6 bronze badges
>>> bin[6][2:]
'110'
9hoặc
>>> '{0:08b}'.format[6]
'00000110'
0
EYLLLANESC
227K18 Huy hiệu vàng136 Huy hiệu bạc206 Huy hiệu đồng18 gold badges136 silver badges206 bronze badges
Đã trả lời ngày 5 tháng 9 năm 2018 lúc 0:07Sep 5, 2018 at 0:07
1
>>> '{0:08b}'.format[6]
'00000110'
1Đã trả lời ngày 18 tháng 5 năm 2020 lúc 9:41May 18, 2020 at 9:41
Gói Python Phân số nhị phân có triển khai đầy đủ các nhị phân cũng như phân số nhị phân. Bạn có thể thực hiện thao tác của mình như sau:
>>> '{0:08b}'.format[6]
'00000110'
2Gói này có nhiều phương pháp khác để thao tác các chuỗi nhị phân với độ chính xác đầy đủ.
Đã trả lời ngày 16 tháng 7 năm 2021 lúc 14:49Jul 16, 2021 at 14:49
Mã đơn giản với đệ quy:
>>> '{0:08b}'.format[6]
'00000110'
3Đã trả lời ngày 2 tháng 12 năm 2021 lúc 22:11Dec 2, 2021 at 22:11
1
>>> '{0:08b}'.format[6]
'00000110'
4Đã trả lời ngày 6 tháng 10 lúc 7:50Oct 6 at 7:50
Nedanedaneda
133 huy hiệu đồng3 bronze badges