Giới thiệu về Python
Nắm vững kiến thức cơ bản về phân tích dữ liệu với Python chỉ trong bốn giờ. Khóa học trực tuyến này sẽ giới thiệu giao diện Python và khám phá các gói phổ biến
Python trung cấp
Nâng cao kỹ năng khoa học dữ liệu của bạn bằng cách tạo trực quan hóa bằng Matplotlib và thao tác với DataFrames bằng gấu trúc Có phương pháp Python nào để chuyển đổi Số nguyên [hoặc Dài] thành chuỗi nhị phân không?Có 8 bit trong một byte. Các bit bao gồm 0 hoặc 1. Một byte có thể được diễn giải theo nhiều cách khác nhau, như bát phân nhị phân hoặc thập lục phân. Điều này chắc chắn cho thấy một chuỗi bit có thể được diễn giải khác nhau theo những cách khác nhau
Python int thành chuỗi nhị phân
Để chuyển đổi Python int thành chuỗi nhị phân,
- Sử dụng hàm bin[]
- Sử dụng phương thức format[]
- sử dụng str. hàm định dạng []
Chuyển đổi int thành nhị phân bằng bin[]
Để chuyển đổi int thành nhị phân trong Python, hãy sử dụng phương thức bin[]. bin[] là một phương thức Python tích hợp để chuyển đổi số thập phân thành kiểu dữ liệu nhị phân. Hàm bin[] chấp nhận một số làm đối số và trả về chuỗi nhị phân tương đương có tiền tố là “0b”
binary = bin[19] print[binary]
đầu ra
0b10011
Và chúng tôi nhận được chuỗi nhị phân trong đầu ra. bin[] là phương pháp nhanh hơn so với các phương pháp còn lại vì mất ít thời gian hơn để chuyển đổi thành nhị phân
Python Int sang nhị phân sử dụng phương thức format[]
Bằng cách sử dụng phương thức bin[], nó trả về một đầu ra với “0b” làm tiền tố. Để xóa tiền tố “0b” khỏi đầu ra của nó, hãy sử dụng chức năng định dạng và định dạng đầu ra
Định dạng[giá trị, định dạng_spec] là một hàm Python tích hợp chấp nhận hai tham số – giá trị và định dạng_spec và trả về đầu ra được định dạng theo định dạng_spec
bindata = format[19, "b"] print[bindata]
đầu ra
10011
Và chúng tôi nhận được đầu ra mà không có “0b” trong tiền tố
Nếu bạn muốn biểu diễn nhị phân n bit, bạn có thể sử dụng hàm lambda
getbinary = lambda x, n: format[x, 'b'].zfill[n] print[getbinary[11, 21]]
đầu ra
000000000000000001011
Và chúng tôi nhận được chuỗi nhị phân có độ dài 21
Chuyển đổi Int sang nhị phân bằng cách sử dụng str. hàm định dạng []
chuỗi. format[] là một phương thức Python tích hợp định dạng [các] giá trị đã chỉ định và chèn chúng vào bên trong trình giữ chỗ của chuỗi. Trình giữ chỗ được xác định bằng cách sử dụng dấu ngoặc nhọn. { }
chuỗi. format[] cho phép nhiều thay thế và định dạng giá trị. Phương thức format[] chấp nhận giá trị và định dạng làm đối số và trả về giá trị được định dạng
dart = "{0:b}".format[19] print[dart]
đầu ra
10011
Hãy để tôi giải thích ví dụ này
- {} đặt một biến thành một chuỗi
- 0 lấy biến ở vị trí đối số 0
- thêm các tùy chọn định dạng cho biến này [nếu không, nó sẽ biểu thị số thập phân 6]
- b chuyển đổi số thành biểu diễn nhị phân của nó
Sự kết luận
Chuyển đổi một số nguyên thành kết quả nhị phân trong một chuỗi đại diện cho số nguyên trong cơ số 2. Ví dụ: số nguyên 5 có biểu diễn nhị phân “0b101”
Chúng tôi đã thấy tất cả ba phương pháp để chuyển đổi từ giá trị số nguyên sang chuỗi nhị phân và dựa trên yêu cầu của bạn và bạn có thể sử dụng một trong các phương pháp này
Đó là nó cho hướng dẫn này
Bài viết trước Python Xóa dấu câu. Cách loại bỏ dấu chấm câu khỏi chuỗi
Bài viết tiếp theo Cách chuyển đổi Python Int thành Char
kranal
https. //appdividend. com/
Krunal Lathiya là một kỹ sư công nghệ thông tin. Theo chuyên môn, anh ấy là một nhà phát triển web có kiến thức về nhiều nền tảng back-end [e. g. , PHP, Nút. js, Python] và các khung JavaScript giao diện người dùng [e. g. , Góc, Phản ứng và Vue]
Chương trình Python để chuyển đổi số thập phân sang số nhị phân
Cải thiện bài viết
Lưu bài viết
Thích bài viết
- Độ khó. Dễ dàng
- Cập nhật lần cuối. 17 tháng 10 năm 2022
Cải thiện bài viết
Lưu bài viết
Cho một số thập phân làm đầu vào, nhiệm vụ là viết chương trình Python để chuyển đổi số thập phân đã cho thành một số nhị phân tương đương.
Ví dụ.
Phương pháp số 1. giải pháp đệ quy
DecimalToBinary[num]: if num >= 1: DecimalToBinary[num // 2] print num % 2
Dưới đây là việc thực hiện giải pháp đệ quy trên.
Python3
bindata = format[19, "b"] print[bindata]18
bindata = format[19, "b"] print[bindata]19
DecimalToBinary[num]: if num >= 1: DecimalToBinary[num // 2] print num % 20
DecimalToBinary[num]: if num >= 1: DecimalToBinary[num // 2] print num % 21
DecimalToBinary[num]: if num >= 1: DecimalToBinary[num // 2] print num % 22
DecimalToBinary[num]: if num >= 1: DecimalToBinary[num // 2] print num % 22
DecimalToBinary[num]: if num >= 1: DecimalToBinary[num // 2] print num % 24
DecimalToBinary[num]: if num >= 1: DecimalToBinary[num // 2] print num % 25
DecimalToBinary[num]: if num >= 1: DecimalToBinary[num // 2] print num % 26
DecimalToBinary[num]: if num >= 1: DecimalToBinary[num // 2] print num % 27
DecimalToBinary[num]: if num >= 1: DecimalToBinary[num // 2] print num % 28
DecimalToBinary[num]: if num >= 1: DecimalToBinary[num // 2] print num % 29
bindata = format[19, "b"] print[bindata]00
bindata = format[19, "b"] print[bindata]01
bindata = format[19, "b"] print[bindata]01
bindata = format[19, "b"] print[bindata]03
bindata = format[19, "b"] print[bindata]04
DecimalToBinary[num]: if num >= 1: DecimalToBinary[num // 2] print num % 22
bindata = format[19, "b"] print[bindata]06 ________ 207
bindata = format[19, "b"] print[bindata]08 ________ 203
1001100
DecimalToBinary[num]: if num >= 1: DecimalToBinary[num // 2] print num % 26 ________ 302
1001103
DecimalToBinary[num]: if num >= 1: DecimalToBinary[num // 2] print num % 24
1001105______96
DecimalToBinary[num]: if num >= 1: DecimalToBinary[num // 2] print num % 26
1001108
DecimalToBinary[num]: if num >= 1: DecimalToBinary[num // 2] print num % 28
DecimalToBinary[num]: if num >= 1: DecimalToBinary[num // 2] print num % 22
DecimalToBinary[num]: if num >= 1: DecimalToBinary[num // 2] print num % 22
1001102
DecimalToBinary[num]: if num >= 1: DecimalToBinary[num // 2] print num % 22
1001104
DecimalToBinary[num]: if num >= 1: DecimalToBinary[num // 2] print num % 26
1001106
DecimalToBinary[num]: if num >= 1: DecimalToBinary[num // 2] print num % 22
DecimalToBinary[num]: if num >= 1: DecimalToBinary[num // 2] print num % 22
1001109
DecimalToBinary[num]: if num >= 1: DecimalToBinary[num // 2] print num % 22____511
Đầu ra
bindata = format[19, "b"] print[bindata]0
Phương pháp #2. Thập phân thành nhị phân bằng hàm dựng sẵn
Python3
00000000000000000101112
00000000000000000101113
00000000000000000101114
00000000000000000101115
DecimalToBinary[num]: if num >= 1: DecimalToBinary[num // 2] print num % 20
00000000000000000101117
DecimalToBinary[num]: if num >= 1: DecimalToBinary[num // 2] print num % 22
00000000000000000101119
dart = "{0:b}".format[19] print[dart]10
dart = "{0:b}".format[19] print[dart]11
dart = "{0:b}".format[19] print[dart]12
dart = "{0:b}".format[19] print[dart]13
00000000000000000101113
dart = "{0:b}".format[19] print[dart]15
DecimalToBinary[num]: if num >= 1: DecimalToBinary[num // 2] print num % 24
1001105______96
DecimalToBinary[num]: if num >= 1: DecimalToBinary[num // 2] print num % 26
1001108
DecimalToBinary[num]: if num >= 1: DecimalToBinary[num // 2] print num % 28
DecimalToBinary[num]: if num >= 1: DecimalToBinary[num // 2] print num % 22
bindata = format[19, "b"] print[bindata]06______754
1001155
1001156
DecimalToBinary[num]: if num >= 1: DecimalToBinary[num // 2] print num % 22
bindata = format[19, "b"] print[bindata]06______754
bindata = format[19, "b"] print[bindata]180
1001156
DecimalToBinary[num]: if num >= 1: DecimalToBinary[num // 2] print num % 22
bindata = format[19, "b"] print[bindata]06______754
bindata = format[19, "b"] print[bindata]185
1001156
Đầu ra
100110
Phương pháp #3. Không có chức năng tích hợp
Python3
00000000000000000101112
00000000000000000101113
00000000000000000101114
00000000000000000101115
DecimalToBinary[num]: if num >= 1: DecimalToBinary[num // 2] print num % 20
00000000000000000101117
DecimalToBinary[num]: if num >= 1: DecimalToBinary[num // 2] print num % 22
00000000000000000101119
bindata = format[19, "b"] print[bindata]195
bindata = format[19, "b"] print[bindata]196
bindata = format[19, "b"] print[bindata]197
bindata = format[19, "b"] print[bindata]198
bindata = format[19, "b"] print[bindata]199
DecimalToBinary[num]: if num >= 1: DecimalToBinary[num // 2] print num % 200
00000000000000000101113
dart = "{0:b}".format[19] print[dart]15
DecimalToBinary[num]: if num >= 1: DecimalToBinary[num // 2] print num % 24
1001105______96
DecimalToBinary[num]: if num >= 1: DecimalToBinary[num // 2] print num % 26
1001108
DecimalToBinary[num]: if num >= 1: DecimalToBinary[num // 2] print num % 28
DecimalToBinary[num]: if num >= 1: DecimalToBinary[num // 2] print num % 22
bindata = format[19, "b"] print[bindata]06______754
1001155
1001156
DecimalToBinary[num]: if num >= 1: DecimalToBinary[num // 2] print num % 22
bindata = format[19, "b"] print[bindata]06______754
bindata = format[19, "b"] print[bindata]180
1001156
DecimalToBinary[num]: if num >= 1: DecimalToBinary[num // 2] print num % 22
bindata = format[19, "b"] print[bindata]06______754
bindata = format[19, "b"] print[bindata]185
1001156
Đầu ra
100110
Phương pháp Ninja nhanh. Mã một dòng để chuyển đổi số thập phân thành nhị phân với đầu vào của người dùng
Python3
DecimalToBinary[num]: if num >= 1: DecimalToBinary[num // 2] print num % 224
bindata = format[19, "b"] print[bindata]06
bindata = format[19, "b"] print[bindata]198
dart = "{0:b}".format[19] print[dart]10
bindata = format[19, "b"] print[bindata]198
DecimalToBinary[num]: if num >= 1: DecimalToBinary[num // 2] print num % 229
DecimalToBinary[num]: if num >= 1: DecimalToBinary[num // 2] print num % 230
bindata = format[19, "b"] print[bindata]03
DecimalToBinary[num]: if num >= 1: DecimalToBinary[num // 2] print num % 232
Đầu ra
0000000000000000010111
hoặc
Python3
DecimalToBinary[num]: if num >= 1: DecimalToBinary[num // 2] print num % 233
DecimalToBinary[num]: if num >= 1: DecimalToBinary[num // 2] print num % 234
DecimalToBinary[num]: if num >= 1: DecimalToBinary[num // 2] print num % 235
DecimalToBinary[num]: if num >= 1: DecimalToBinary[num // 2] print num % 26
DecimalToBinary[num]: if num >= 1: DecimalToBinary[num // 2] print num % 229
bindata = format[19, "b"] print[bindata]06
bindata = format[19, "b"] print[bindata]198
dart = "{0:b}".format[19] print[dart]10
DecimalToBinary[num]: if num >= 1: DecimalToBinary[num // 2] print num % 241
bindata = format[19, "b"] print[bindata]03
DecimalToBinary[num]: if num >= 1: DecimalToBinary[num // 2] print num % 232
DecimalToBinary[num]: if num >= 1: DecimalToBinary[num // 2] print num % 244
DecimalToBinary[num]: if num >= 1: DecimalToBinary[num // 2] print num % 26
DecimalToBinary[num]: if num >= 1: DecimalToBinary[num // 2] print num % 246
bindata = format[19, "b"] print[bindata]06
bindata = format[19, "b"] print[bindata]198
dart = "{0:b}".format[19] print[dart]10
DecimalToBinary[num]: if num >= 1: DecimalToBinary[num // 2] print num % 250
bindata = format[19, "b"] print[bindata]03
DecimalToBinary[num]: if num >= 1: DecimalToBinary[num // 2] print num % 232
DecimalToBinary[num]: if num >= 1: DecimalToBinary[num // 2] print num % 253
DecimalToBinary[num]: if num >= 1: DecimalToBinary[num // 2] print num % 26
DecimalToBinary[num]: if num >= 1: DecimalToBinary[num // 2] print num % 255
bindata = format[19, "b"] print[bindata]06
bindata = format[19, "b"] print[bindata]198
dart = "{0:b}".format[19] print[dart]10
DecimalToBinary[num]: if num >= 1: DecimalToBinary[num // 2] print num % 259
bindata = format[19, "b"] print[bindata]03
DecimalToBinary[num]: if num >= 1: DecimalToBinary[num // 2] print num % 232
Đầu ra
dart = "{0:b}".format[19] print[dart]1
Sử dụng toán tử dịch chuyển bit >>
Python3
DecimalToBinary[num]: if num >= 1: DecimalToBinary[num // 2] print num % 20
DecimalToBinary[num]: if num >= 1: DecimalToBinary[num // 2] print num % 263
bindata = format[19, "b"] print[bindata]199
DecimalToBinary[num]: if num >= 1: DecimalToBinary[num // 2] print num % 265
DecimalToBinary[num]: if num >= 1: DecimalToBinary[num // 2] print num % 22____967
DecimalToBinary[num]: if num >= 1: DecimalToBinary[num // 2] print num % 26
DecimalToBinary[num]: if num >= 1: DecimalToBinary[num // 2] print num % 269
DecimalToBinary[num]: if num >= 1: DecimalToBinary[num // 2] print num % 22
DecimalToBinary[num]: if num >= 1: DecimalToBinary[num // 2] print num % 24
DecimalToBinary[num]: if num >= 1: DecimalToBinary[num // 2] print num % 272
DecimalToBinary[num]: if num >= 1: DecimalToBinary[num // 2] print num % 26
DecimalToBinary[num]: if num >= 1: DecimalToBinary[num // 2] print num % 26
DecimalToBinary[num]: if num >= 1: DecimalToBinary[num // 2] print num % 275
DecimalToBinary[num]: if num >= 1: DecimalToBinary[num // 2] print num % 265
DecimalToBinary[num]: if num >= 1: DecimalToBinary[num // 2] print num % 29
00000000000000000101119
DecimalToBinary[num]: if num >= 1: DecimalToBinary[num // 2] print num % 275
DecimalToBinary[num]: if num >= 1: DecimalToBinary[num // 2] print num % 22____981
DecimalToBinary[num]: if num >= 1: DecimalToBinary[num // 2] print num % 282
DecimalToBinary[num]: if num >= 1: DecimalToBinary[num // 2] print num % 29
DecimalToBinary[num]: if num >= 1: DecimalToBinary[num // 2] print num % 267
DecimalToBinary[num]: if num >= 1: DecimalToBinary[num // 2] print num % 285
DecimalToBinary[num]: if num >= 1: DecimalToBinary[num // 2] print num % 26
DecimalToBinary[num]: if num >= 1: DecimalToBinary[num // 2] print num % 287
DecimalToBinary[num]: if num >= 1: DecimalToBinary[num // 2] print num % 288
DecimalToBinary[num]: if num >= 1: DecimalToBinary[num // 2] print num % 27
bindata = format[19, "b"] print[bindata]04
DecimalToBinary[num]: if num >= 1: DecimalToBinary[num // 2] print num % 29
DecimalToBinary[num]: if num >= 1: DecimalToBinary[num // 2] print num % 292
DecimalToBinary[num]: if num >= 1: DecimalToBinary[num // 2] print num % 26
DecimalToBinary[num]: if num >= 1: DecimalToBinary[num // 2] print num % 294
DecimalToBinary[num]: if num >= 1: DecimalToBinary[num // 2] print num % 27
DecimalToBinary[num]: if num >= 1: DecimalToBinary[num // 2] print num % 22
DecimalToBinary[num]: if num >= 1: DecimalToBinary[num // 2] print num % 22
DecimalToBinary[num]: if num >= 1: DecimalToBinary[num // 2] print num % 267
DecimalToBinary[num]: if num >= 1: DecimalToBinary[num // 2] print num % 26
bindata = format[19, "b"] print[bindata]000
bindata = format[19, "b"] print[bindata]001
DecimalToBinary[num]: if num >= 1: DecimalToBinary[num // 2] print num % 27
bindata = format[19, "b"] print[bindata]003
DecimalToBinary[num]: if num >= 1: DecimalToBinary[num // 2] print num % 22
00000000000000000101119
DecimalToBinary[num]: if num >= 1: DecimalToBinary[num // 2] print num % 267
DecimalToBinary[num]: if num >= 1: DecimalToBinary[num // 2] print num % 20
bindata = format[19, "b"] print[bindata]008
DecimalToBinary[num]: if num >= 1: DecimalToBinary[num // 2] print num % 22______992
DecimalToBinary[num]: if num >= 1: DecimalToBinary[num // 2] print num % 26
bindata = format[19, "b"] print[bindata]012
DecimalToBinary[num]: if num >= 1: DecimalToBinary[num // 2] print num % 22
bindata = format[19, "b"] print[bindata]06____2015
bindata = format[19, "b"] print[bindata]016
bindata = format[19, "b"] print[bindata]04
bindata = format[19, "b"] print[bindata]018
DecimalToBinary[num]: if num >= 1: DecimalToBinary[num // 2] print num % 24
1001105______96
DecimalToBinary[num]: if num >= 1: DecimalToBinary[num // 2] print num % 26
bindata = format[19, "b"] print[bindata]023
DecimalToBinary[num]: if num >= 1: DecimalToBinary[num // 2] print num % 28
DecimalToBinary[num]: if num >= 1: DecimalToBinary[num // 2] print num % 22____2026
Đầu ra
100115
Ghi chú cá nhân của tôi arrow_drop_up
Tiết kiệm