Trong Python, bạn có thể xử lý các số và chuỗi dưới dạng nhị phân [in], bát phân [bát phân] và thập lục phân [hex] cũng như thập phân. Chúng cũng có thể được chuyển đổi cho nhau
Bài viết này mô tả các nội dung sau
- Viết số nguyên theo ký hiệu nhị phân, bát phân và thập lục phân
- Chuyển đổi một số thành chuỗi nhị phân, bát phân và thập lục phân
2,print[type[bin_num]] print[type[oct_num]] print[type[hex_num]] # # # print[type[Bin_num]] print[type[Oct_num]] print[type[Hex_num]] # # #
3,print[type[bin_num]] print[type[oct_num]] print[type[hex_num]] # # # print[type[Bin_num]] print[type[Oct_num]] print[type[Hex_num]] # # #
4print[type[bin_num]] print[type[oct_num]] print[type[hex_num]] # # # print[type[Bin_num]] print[type[Oct_num]] print[type[Hex_num]] # # #
5,print[type[bin_num]] print[type[oct_num]] print[type[hex_num]] # # # print[type[Bin_num]] print[type[Oct_num]] print[type[Hex_num]] # # #
6, chuỗi fprint[type[bin_num]] print[type[oct_num]] print[type[hex_num]] # # # print[type[Bin_num]] print[type[Oct_num]] print[type[Hex_num]] # # #
- Chuyển đổi một số nguyên âm thành một chuỗi trong biểu diễn phần bù của hai
- Chuyển đổi một chuỗi nhị phân, bát phân và thập lục phân thành một số
7print[type[bin_num]] print[type[oct_num]] print[type[hex_num]] # # # print[type[Bin_num]] print[type[Oct_num]] print[type[Hex_num]] # # #
- ví dụ sử dụng
- Số học chuỗi nhị phân
- Chuyển đổi giữa các số nhị phân, bát phân và thập lục phân
Xem bài viết sau đây để biết những kiến thức cơ bản về chuyển đổi giữa chuỗi [_______0_______8] và số [
print[type[bin_num]]
print[type[oct_num]]
print[type[hex_num]]
#
#
#
print[type[Bin_num]]
print[type[Oct_num]]
print[type[Hex_num]]
#
#
#
9, result = 0b10 * 0o10 + 0x10
print[result]
# 32
0]- Chuyển chuỗi thành số [int, float] trong Python
Liên kết được tài trợ
Viết số nguyên theo ký hiệu nhị phân, bát phân và thập lục phân
Bằng cách thêm các tiền tố
result = 0b10 * 0o10 + 0x10
print[result]
# 32
1, result = 0b10 * 0o10 + 0x10
print[result]
# 32
2 và result = 0b10 * 0o10 + 0x10
print[result]
# 32
3, các số kiểu số nguyên print[type[bin_num]]
print[type[oct_num]]
print[type[hex_num]]
#
#
#
print[type[Bin_num]]
print[type[Oct_num]]
print[type[Hex_num]]
#
#
#
9 có thể được viết tương ứng ở dạng nhị phân, bát phân và thập lục phân. Đầu ra của result = 0b10 * 0o10 + 0x10
print[result]
# 32
5 sẽ ở dạng ký hiệu thập phânbin_num = 0b10
oct_num = 0o10
hex_num = 0x10
print[bin_num]
print[oct_num]
print[hex_num]
# 2
# 8
# 16
nguồn.
Bạn cũng có thể sử dụng chữ hoa
result = 0b10 * 0o10 + 0x10
print[result]
# 32
6, result = 0b10 * 0o10 + 0x10
print[result]
# 32
7 và result = 0b10 * 0o10 + 0x10
print[result]
# 32
8Bin_num = 0B10
Oct_num = 0O10
Hex_num = 0X10
print[Bin_num]
print[Oct_num]
print[Hex_num]
# 2
# 8
# 16
nguồn.
Ngay cả với một tiền tố, loại là một số nguyên
print[type[bin_num]]
print[type[oct_num]]
print[type[hex_num]]
#
#
#
print[type[Bin_num]]
print[type[Oct_num]]
print[type[Hex_num]]
#
#
#
9print[type[bin_num]]
print[type[oct_num]]
print[type[hex_num]]
#
#
#
print[type[Bin_num]]
print[type[Oct_num]]
print[type[Hex_num]]
#
#
#
nguồn.
Vì chúng là
print[type[bin_num]]
print[type[oct_num]]
print[type[hex_num]]
#
#
#
print[type[Bin_num]]
print[type[Oct_num]]
print[type[Hex_num]]
#
#
#
9 nên chúng có thể được vận hành như bình thường________số 8_______
nguồn.
Trong Python3. 6 trở lên, bạn có thể chèn dấu gạch dưới
print[0b111111111111 == 0b1_1_1_1_1_1_1_1_1_1_1_1]
# True
bin_num = 0b1111_1111_1111
print[bin_num]
# 4095
1 vào số. Việc lặp lại dấu gạch dưới print[0b111111111111 == 0b1_1_1_1_1_1_1_1_1_1_1_1]
# True
bin_num = 0b1111_1111_1111
print[bin_num]
# 4095
1 sẽ gây ra lỗi, nhưng bạn có thể chèn bao nhiêu tùy thích nếu nó không lặp lạiDấu gạch dưới
print[0b111111111111 == 0b1_1_1_1_1_1_1_1_1_1_1_1]
# True
bin_num = 0b1111_1111_1111
print[bin_num]
# 4095
1 có thể được sử dụng làm dấu phân cách khi có nhiều chữ số. Ví dụ: sẽ dễ đọc hơn nếu bạn nhập print[0b111111111111 == 0b1_1_1_1_1_1_1_1_1_1_1_1]
# True
bin_num = 0b1111_1111_1111
print[bin_num]
# 4095
1 cứ sau bốn chữ sốprint[0b111111111111 == 0b1_1_1_1_1_1_1_1_1_1_1_1]
# True
bin_num = 0b1111_1111_1111
print[bin_num]
# 4095
nguồn.
Chuyển đổi một số thành chuỗi nhị phân, bát phân và thập lục phân
Bạn có thể sử dụng các hàm sau để chuyển đổi một số thành chuỗi nhị phân, bát phân hoặc thập lục phân
- Chức năng tích hợp
2,print[type[bin_num]] print[type[oct_num]] print[type[hex_num]] # # # print[type[Bin_num]] print[type[Oct_num]] print[type[Hex_num]] # # #
3,print[type[bin_num]] print[type[oct_num]] print[type[hex_num]] # # # print[type[Bin_num]] print[type[Oct_num]] print[type[Hex_num]] # # #
4print[type[bin_num]] print[type[oct_num]] print[type[hex_num]] # # # print[type[Bin_num]] print[type[Oct_num]] print[type[Hex_num]] # # #
- Hàm tích hợp
5, phương thức chuỗiprint[type[bin_num]] print[type[oct_num]] print[type[hex_num]] # # # print[type[Bin_num]] print[type[Oct_num]] print[type[Hex_num]] # # #
6, f-stringsprint[type[bin_num]] print[type[oct_num]] print[type[hex_num]] # # # print[type[Bin_num]] print[type[Oct_num]] print[type[Hex_num]] # # #
Nó cũng mô tả cách lấy một chuỗi ở dạng biểu diễn bù hai cho một giá trị âm
bin[], oct[], hex[]
Có thể sử dụng các hàm tích hợp sẵn
print[type[bin_num]]
print[type[oct_num]]
print[type[hex_num]]
#
#
#
print[type[Bin_num]]
print[type[Oct_num]]
print[type[Hex_num]]
#
#
#
2, print[type[bin_num]]
print[type[oct_num]]
print[type[hex_num]]
#
#
#
print[type[Bin_num]]
print[type[Oct_num]]
print[type[Hex_num]]
#
#
#
3 và print[type[bin_num]]
print[type[oct_num]]
print[type[hex_num]]
#
#
#
print[type[Bin_num]]
print[type[Oct_num]]
print[type[Hex_num]]
#
#
#
4 để chuyển đổi một số thành chuỗi nhị phân, bát phân và thập lục phân. Các hàm này trả về một chuỗi có các tiền tố lần lượt là result = 0b10 * 0o10 + 0x10
print[result]
# 32
1,result = 0b10 * 0o10 + 0x10
print[result]
# 32
2 và result = 0b10 * 0o10 + 0x10
print[result]
# 32
3i = 255
print[bin[i]]
print[oct[i]]
print[hex[i]]
# 0b11111111
# 0o377
# 0xff
print[type[bin[i]]]
print[type[oct[i]]]
print[type[hex[i]]]
#
#
#
nguồn.
Nếu bạn không cần tiền tố, hãy sử dụng lát cắt
i = 255
print[bin[i]]
print[oct[i]]
print[hex[i]]
# 0b11111111
# 0o377
# 0xff
print[type[bin[i]]]
print[type[oct[i]]]
print[type[hex[i]]]
#
#
#
6 để trích xuất các chuỗi ở cuối hoặc sử dụng print[type[bin_num]]
print[type[oct_num]]
print[type[hex_num]]
#
#
#
print[type[Bin_num]]
print[type[Oct_num]]
print[type[Hex_num]]
#
#
#
5 như được mô tả tiếp theo- Cách cắt danh sách, chuỗi, tuple trong Python
print[bin[i][2:]]
print[oct[i][2:]]
print[hex[i][2:]]
# 11111111
# 377
# ff
nguồn.
Nếu bạn muốn chuyển đổi thành chuỗi thập phân, hãy sử dụng
i = 255
print[bin[i]]
print[oct[i]]
print[hex[i]]
# 0b11111111
# 0o377
# 0xff
print[type[bin[i]]]
print[type[oct[i]]]
print[type[hex[i]]]
#
#
#
8print[str[i]]
# 255
print[type[str[i]]]
#
nguồn.
định dạng [], str. định dạng [], chuỗi f
Hàm tích hợp sẵn
print[type[bin_num]]
print[type[oct_num]]
print[type[hex_num]]
#
#
#
print[type[Bin_num]]
print[type[Oct_num]]
print[type[Hex_num]]
#
#
#
5, phương thức chuỗi print[type[bin_num]]
print[type[oct_num]]
print[type[hex_num]]
#
#
#
print[type[Bin_num]]
print[type[Oct_num]]
print[type[Hex_num]]
#
#
#
6 và chuỗi f cũng có thể được sử dụng để chuyển đổi một số thành chuỗi nhị phân, bát phân và thập lục phânBằng cách chỉ định
print[bin[i][2:]]
print[oct[i][2:]]
print[hex[i][2:]]
# 11111111
# 377
# ff
1, print[bin[i][2:]]
print[oct[i][2:]]
print[hex[i][2:]]
# 11111111
# 377
# ff
2 và print[bin[i][2:]]
print[oct[i][2:]]
print[hex[i][2:]]
# 11111111
# 377
# ff
3 trong chuỗi đặc tả định dạng của đối số thứ hai của print[type[bin_num]]
print[type[oct_num]]
print[type[hex_num]]
#
#
#
print[type[Bin_num]]
print[type[Oct_num]]
print[type[Hex_num]]
#
#
#
5, một số có thể được chuyển đổi thành chuỗi nhị phân, bát phân và thập lục phân tương ứngprint[format[i, 'b']]
print[format[i, 'o']]
print[format[i, 'x']]
# 11111111
# 377
# ff
print[type[format[i, 'b']]]
print[type[format[i, 'o']]]
print[type[format[i, 'x']]]
#
#
#
nguồn.
Nếu bạn muốn lấy chuỗi ký tự có tiền tố
result = 0b10 * 0o10 + 0x10
print[result]
# 32
1, result = 0b10 * 0o10 + 0x10
print[result]
# 32
2, result = 0b10 * 0o10 + 0x10
print[result]
# 32
3 thì thêm print[bin[i][2:]]
print[oct[i][2:]]
print[hex[i][2:]]
# 11111111
# 377
# ff
8 vào chuỗi đặc tả định dạngprint[format[i, '#b']]
print[format[i, '#o']]
print[format[i, '#x']]
# 0b11111111
# 0o377
# 0xff
nguồn.
Cũng có thể điền vào số không [
print[bin[i][2:]]
print[oct[i][2:]]
print[hex[i][2:]]
# 11111111
# 377
# ff
9] với bất kỳ số lượng chữ số nào. Lưu ý rằng số lượng ký tự cho tiền tố [hai ký tự] cũng phải được tính đến khi điền số 0 bằng tiền tốBin_num = 0B10
Oct_num = 0O10
Hex_num = 0X10
print[Bin_num]
print[Oct_num]
print[Hex_num]
# 2
# 8
# 16
0nguồn.
Phương thức chuỗi
print[type[bin_num]]
print[type[oct_num]]
print[type[hex_num]]
#
#
#
print[type[Bin_num]]
print[type[Oct_num]]
print[type[Hex_num]]
#
#
#
6 có thể được sử dụng cho cùng một chuyển đổiBin_num = 0B10
Oct_num = 0O10
Hex_num = 0X10
print[Bin_num]
print[Oct_num]
print[Hex_num]
# 2
# 8
# 16
1nguồn.
Để biết chi tiết về
print[type[bin_num]]
print[type[oct_num]]
print[type[hex_num]]
#
#
#
print[type[Bin_num]]
print[type[Oct_num]]
print[type[Hex_num]]
#
#
#
5 và print[type[bin_num]]
print[type[oct_num]]
print[type[hex_num]]
#
#
#
print[type[Bin_num]]
print[type[Oct_num]]
print[type[Hex_num]]
#
#
#
6, bao gồm các chuỗi đặc tả định dạng, hãy xem bài viết sau- Định dạng chuỗi và số bằng format[] trong Python
Trong Trăn 3. 6 trở lên, bạn cũng có thể sử dụng chuỗi f để viết ngắn gọn hơn
- Cách sử dụng chuỗi f trong Python
Bin_num = 0B10
Oct_num = 0O10
Hex_num = 0X10
print[Bin_num]
print[Oct_num]
print[Hex_num]
# 2
# 8
# 16
2nguồn.
Chuyển đổi một số nguyên âm thành một chuỗi trong biểu diễn phần bù của hai
Khi sử dụng
print[type[bin_num]]
print[type[oct_num]]
print[type[hex_num]]
#
#
#
print[type[Bin_num]]
print[type[Oct_num]]
print[type[Hex_num]]
#
#
#
2 hoặc print[type[bin_num]]
print[type[oct_num]]
print[type[hex_num]]
#
#
#
print[type[Bin_num]]
print[type[Oct_num]]
print[type[Hex_num]]
#
#
#
5, số nguyên âm được chuyển đổi thành giá trị tuyệt đối với dấu trừBin_num = 0B10
Oct_num = 0O10
Hex_num = 0X10
print[Bin_num]
print[Oct_num]
print[Hex_num]
# 2
# 8
# 16
3nguồn.
Trong Python, các phép toán theo chiều bit trên các số nguyên âm được thực hiện trong biểu diễn phần bù của hai, vì vậy nếu bạn muốn lấy một chuỗi được biểu thị bằng biểu diễn phần bù của hai, hãy lấy theo chiều bit-và
print[str[i]]
# 255
print[type[str[i]]]
#
5 của số chữ số tối đa được yêu cầu, ví dụ: print[str[i]]
# 255
print[type[str[i]]]
#
6 [= print[str[i]]
# 255
print[type[str[i]]]
#
7 - Phần bù của hai - Wikipedia
Bin_num = 0B10
Oct_num = 0O10
Hex_num = 0X10
print[Bin_num]
print[Oct_num]
print[Hex_num]
# 2
# 8
# 16
4nguồn.
Liên kết được tài trợ
Chuyển đổi một chuỗi nhị phân, bát phân và thập lục phân thành một số
int[]
Sử dụng hàm tích hợp sẵn
print[type[bin_num]]
print[type[oct_num]]
print[type[hex_num]]
#
#
#
print[type[Bin_num]]
print[type[Oct_num]]
print[type[Hex_num]]
#
#
#
7 để chuyển đổi chuỗi nhị phân, bát phân và thập lục phân thành một sốBạn có thể chuyển đổi một chuỗi nhị phân, bát phân và thập lục phân thành một số nguyên dựa trên cơ số với
print[format[i, 'b']]
print[format[i, 'o']]
print[format[i, 'x']]
# 11111111
# 377
# ff
print[type[format[i, 'b']]]
print[type[format[i, 'o']]]
print[type[format[i, 'x']]]
#
#
#
1. Nếu bỏ qua print[format[i, 'b']]
print[format[i, 'o']]
print[format[i, 'x']]
# 11111111
# 377
# ff
print[type[format[i, 'b']]]
print[type[format[i, 'o']]]
print[type[format[i, 'x']]]
#
#
#
2, nó được coi là số thập phânBin_num = 0B10
Oct_num = 0O10
Hex_num = 0X10
print[Bin_num]
print[Oct_num]
print[Hex_num]
# 2
# 8
# 16
5nguồn.
Nếu bạn đặt
print[format[i, 'b']]
print[format[i, 'o']]
print[format[i, 'x']]
# 11111111
# 377
# ff
print[type[format[i, 'b']]]
print[type[format[i, 'o']]]
print[type[format[i, 'x']]]
#
#
#
2 thành print[bin[i][2:]]
print[oct[i][2:]]
print[hex[i][2:]]
# 11111111
# 377
# ff
9, nó sẽ được chuyển đổi theo tiền tố [result = 0b10 * 0o10 + 0x10
print[result]
# 32
1, result = 0b10 * 0o10 + 0x10
print[result]
# 32
2, result = 0b10 * 0o10 + 0x10
print[result]
# 32
3 hoặc result = 0b10 * 0o10 + 0x10
print[result]
# 32
6, result = 0b10 * 0o10 + 0x10
print[result]
# 32
7, result = 0b10 * 0o10 + 0x10
print[result]
# 32
8]Bin_num = 0B10
Oct_num = 0O10
Hex_num = 0X10
print[Bin_num]
print[Oct_num]
print[Hex_num]
# 2
# 8
# 16
6nguồn.
Khi
print[format[i, 'b']]
print[format[i, 'o']]
print[format[i, 'x']]
# 11111111
# 377
# ff
print[type[format[i, 'b']]]
print[type[format[i, 'o']]]
print[type[format[i, 'x']]]
#
#
#
2 là print[bin[i][2:]]
print[oct[i][2:]]
print[hex[i][2:]]
# 11111111
# 377
# ff
9, một chuỗi không có tiền tố được chuyển thành số thập phân. Trong trường hợp đó, lưu ý rằng lỗi sẽ xảy ra nếu phần đầu [bên trái] được đệm bằng _____42_______9Bin_num = 0B10
Oct_num = 0O10
Hex_num = 0X10
print[Bin_num]
print[Oct_num]
print[Hex_num]
# 2
# 8
# 16
7nguồn.
Trong các trường hợp khác, chuỗi được đệm bằng
print[bin[i][2:]]
print[oct[i][2:]]
print[hex[i][2:]]
# 11111111
# 377
# ff
9 có thể được chuyển đổiBin_num = 0B10
Oct_num = 0O10
Hex_num = 0X10
print[Bin_num]
print[Oct_num]
print[Hex_num]
# 2
# 8
# 16
8nguồn.
Sẽ xảy ra lỗi nếu chuỗi không thể được chuyển đổi dựa trên cơ số hoặc tiền tố đã chỉ định
Bin_num = 0B10
Oct_num = 0O10
Hex_num = 0X10
print[Bin_num]
print[Oct_num]
print[Hex_num]
# 2
# 8
# 16
9nguồn.
ví dụ sử dụng
Số học chuỗi nhị phân
Ví dụ: nếu bạn muốn thao tác một chuỗi nhị phân có tiền tố
result = 0b10 * 0o10 + 0x10
print[result]
# 32
1, bạn có thể dễ dàng chuyển đổi nó thành số nguyên print[type[bin_num]]
print[type[oct_num]]
print[type[hex_num]]
#
#
#
print[type[Bin_num]]
print[type[Oct_num]]
print[type[Hex_num]]
#
#
#
9, thao tác một số thứ, sau đó chuyển đổi lại thành chuỗi print[type[bin_num]]
print[type[oct_num]]
print[type[hex_num]]
#
#
#
print[type[Bin_num]]
print[type[Oct_num]]
print[type[Hex_num]]
#
#
#
8print[type[bin_num]]
print[type[oct_num]]
print[type[hex_num]]
#
#
#
print[type[Bin_num]]
print[type[Oct_num]]
print[type[Hex_num]]
#
#
#
0nguồn.
Chuyển đổi giữa các số nhị phân, bát phân và thập lục phân
Cũng dễ dàng chuyển đổi các chuỗi nhị phân, bát phân và thập lục phân sang nhau. Sau khi được chuyển đổi thành một số
print[type[bin_num]]
print[type[oct_num]]
print[type[hex_num]]
#
#
#
print[type[Bin_num]]
print[type[Oct_num]]
print[type[Hex_num]]
#
#
#
9, nó có thể được chuyển đổi thành một chuỗi có định dạng bất kỳ