Viết chương trình Python để in bốn giá trị thập phân, bát phân, thập lục phân [viết hoa], nhị phân trong một dòng của một số nguyên đã cho
Giải pháp mẫu. -
Mã Python
i = int[input["Input an integer: "]]
o = str[oct[i]][2:]
h = str[hex[i]][2:]
h = h.upper[]
b = str[bin[i]][2:]
d = str[i]
print["Decimal Octal Hexadecimal [capitalized], Binary"]
print[d,' ',o,' ',h,' ',b]
Đầu ra mẫu
Input an integer: 25 Decimal Octal Hexadecimal [capitalized], Binary 25 31 19 11001
Sơ đồ
Trực quan hóa việc thực thi mã Python
Công cụ sau đây trực quan hóa những gì máy tính đang làm từng bước khi nó thực thi chương trình nói trên
Trình chỉnh sửa mã Python
Có một cách khác để giải quyết giải pháp này?
Trước. Viết chương trình Python để quấn một chuỗi đã cho vào một đoạn có độ rộng nhất định.
Tiếp theo. Viết chương trình Python để hoán đổi các trường hợp của một chuỗi đã cho.
Mức độ khó của bài tập này là gì?
Kiểm tra kỹ năng Lập trình của bạn với bài kiểm tra của w3resource
con trăn. Lời khuyên trong ngày
quầy đẹp
phương thức đếm từ itertools là một loại bộ đếm thông minh sẽ tự động cập nhật chính nó bên trong cùng một kernel
Bài viết này sẽ hướng dẫn bạn các hệ thống số khác nhau có thể được sử dụng để biểu diễn các số trong Python
Hệ thống mà chúng ta thường sử dụng trong cuộc sống hàng ngày là hệ thống thập phân và như tên cho thấy, nó dựa trên 10 chữ số cơ bản mà từ đó chúng ta có thể lấy được tất cả các số
Ngoài cuộc sống bình thường của chúng ta, các hệ thống số khác được sử dụng, đặc biệt là trong thế giới máy tính. Như bạn có thể đã biết, tất cả các máy tính đều dựa trên hệ thống nhị phân;
Trong các phần sau, bạn sẽ thấy cách sử dụng một số hàm có sẵn của Python để chuyển đổi từ hệ thống số này sang hệ thống số khác
Mẩu chuyện dài
Python cung cấp một số hàm tích hợp để chuyển đổi số từ hệ thống số này sang hệ thống số khác. Cụ thể hơn, các hàm này cho phép chuyển đổi số nguyên sang số
- hệ thống thập phân.
1 * 24 + 1 * 23 + 0 * 22 + 1 *21 + 1 *20 = 16 + 8 + 2 + 1 = 27
1 - hệ thống nhị phân.
1 * 24 + 1 * 23 + 0 * 22 + 1 *21 + 1 *20 = 16 + 8 + 2 + 1 = 27
2 - hệ bát phân.
1 * 24 + 1 * 23 + 0 * 22 + 1 *21 + 1 *20 = 16 + 8 + 2 + 1 = 27
3 - hệ thập lục phân.
1 * 24 + 1 * 23 + 0 * 22 + 1 *21 + 1 *20 = 16 + 8 + 2 + 1 = 27
4
Ngoài ra, hàm
1 * 24 + 1 * 23 + 0 * 22 + 1 *21 + 1 *20 = 16 + 8 + 2 + 1 = 275 cho phép chuyển đổi số dấu phẩy động từ hệ thập phân sang hệ thập lục phân
Hệ thập phân
Hệ thập phân là hệ thống số mà chúng ta sử dụng nhiều nhất trong cuộc sống bình thường [không phải ngẫu nhiên mà chúng ta có chính xác mười ngón tay]; . Ngay cả khi tất cả các hệ thống dựa trên máy tính đều dựa trên hệ thống nhị phân [và sau này chúng ta sẽ thấy lý do tại sao], giao diện người dùng của hầu hết các chương trình như Python, sử dụng hệ thống thập phân để lưu trữ các giá trị và thực hiện các phép toán
Hệ thống nhị phân
Hệ thống nhị phân đại diện cho nền tảng của tất cả các hệ thống dựa trên máy tính đang được sử dụng ngày nay; . Việc lựa chọn hai chữ số chỉ đơn giản xuất phát từ cách hoạt động cuối cùng của một hệ thống như máy tính; . Theo cách này, chỉ bằng cách sử dụng số 0 và số 1, hệ thống nhị phân biểu thị tất cả các số có sẵn
Bạn có biết cách chuyển đổi nhị phân sang thập phân hoạt động không?
Chuyển đổi từ nhị phân sang thập phân khá dễ dàng, phần này sẽ chỉ cho bạn, sử dụng một ví dụ, cách thực hiện việc này theo cách thủ công [nếu bạn không quan tâm, chỉ cần bỏ qua và chuyển thẳng đến phần mã]. Vì hệ thống nhị phân dựa trên hai chữ số, nên để chuyển đổi một số nhị phân thành một số thập phân, chúng ta sẽ phải khai thác lũy thừa của 2. Ví dụ, hãy xem cách chuyển đổi số nhị phân 11011 thành biểu diễn thập phân của nó
Trước hết, mỗi vị trí chữ số sẽ đại diện cho lũy thừa của hai sẽ được sử dụng trong chuyển đổi
1 1 0 1 1 24 23 22 21 20
Tại thời điểm này, mỗi lũy thừa của hai phải được nhân với chữ số nhị phân tương ứng [1 hoặc 0] và tính tổng với các số khác, trong trường hợp này, chúng tôi nhận được
1 * 24 + 1 * 23 + 0 * 22 + 1 *21 + 1 *20 = 16 + 8 + 2 + 1 = 27
Cách chuyển đổi từ nhị phân sang thập phân và ngược lại trong Python
Để chuyển đổi từ hệ thống số này sang hệ thống số khác trong Python cực kỳ dễ dàng, chúng ta chỉ cần nhớ chức năng nào nên được sử dụng và thông số nào cần chuyển làm tham số đầu vào. Để biểu thị một số nhị phân trong Python, chúng ta phải sử dụng tiền tố “0b” cho hệ thống biết rằng các chữ số theo sau thực sự biểu thị một số nhị phân. Bạn có thể thử điều này bằng cách in các dòng mã sau
num = 10 num_bin = 0b10 print[num, num_bin] # 10 2
trong hệ thống nhị phân, 10 đại diện cho số 2; . Tuy nhiên, nếu chúng ta muốn thực hiện một số phép toán, trước tiên chúng ta phải chuyển đổi số thành số thập phân và điều này có thể được thực hiện bằng cách sử dụng hàm
1 * 24 + 1 * 23 + 0 * 22 + 1 *21 + 1 *20 = 16 + 8 + 2 + 1 = 277
Input an integer: 25 Decimal Octal Hexadecimal [capitalized], Binary 25 31 19 110012
Mặt khác, để chuyển đổi một số thập phân sang ký hiệu nhị phân, hàm thích hợp là
1 * 24 + 1 * 23 + 0 * 22 + 1 *21 + 1 *20 = 16 + 8 + 2 + 1 = 278, bạn có thể thử tự kiểm tra xem kết quả của các dòng mã sau có đúng không
Input an integer: 25 Decimal Octal Hexadecimal [capitalized], Binary 25 31 19 110014
Hệ thống bát phân
Theo gợi ý của tên, hệ thống Bát phân dựa trên tám chữ số cơ bản, từ 0 đến 7. Một sự thật thú vị là một số bộ lạc người Mỹ bản địa áp dụng hệ thống Bát phân vì họ đếm bằng cách sử dụng khoảng cách giữa các ngón tay hoặc đốt ngón tay của nắm đấm [nếu bạn muốn biết thêm về điều này. Ngôn ngữ Yuki [khoảng cách giữa các ngón tay], ngôn ngữ Pamean [các đốt ngón tay khép lại]]. Quy trình được sử dụng để chuyển đổi một số trong hệ Bát phân tương tự như quy trình được sử dụng ở trên. Trong Python, các số bát phân được xác định bằng tiền tố “0o” và hàm được sử dụng để thực hiện chuyển đổi được gọi là
1 * 24 + 1 * 23 + 0 * 22 + 1 *21 + 1 *20 = 16 + 8 + 2 + 1 = 279;
Input an integer: 25 Decimal Octal Hexadecimal [capitalized], Binary 25 31 19 110016
Thao tác ngược lại vẫn có thể được thực hiện bằng cách sử dụng lại hàm
1 * 24 + 1 * 23 + 0 * 22 + 1 *21 + 1 *20 = 16 + 8 + 2 + 1 = 277
Input an integer: 25 Decimal Octal Hexadecimal [capitalized], Binary 25 31 19 110018
Như bạn có thể tưởng tượng, cũng có thể chuyển đổi trực tiếp từ nhị phân sang bát phân và ngược lại. Các chức năng khi chơi luôn giống nhau, hãy xem cách chuyển đổi nhị phân 0b100010111010 trong hệ bát phân
Input an integer: 25 Decimal Octal Hexadecimal [capitalized], Binary 25 31 19 110019
Bạn có nhớ số nào tương đương với số này trong ký hiệu thập phân không? . Để giải quyết vấn đề này, chúng ta có thể chỉ định định dạng của tham số đầu vào theo cách sau
1 * 24 + 1 * 23 + 0 * 22 + 1 *21 + 1 *20 = 16 + 8 + 2 + 1 = 273
Trong trường hợp nhị phân, chúng tôi sẽ sử dụng “2”
Hệ thập lục phân
Hệ thập lục phân dựa trên 16 chữ số, vì chúng tôi chỉ có 9 số khác nhau trong hệ thập phân của mình, nên các chữ cái cũng được sử dụng, cụ thể là
Thập lục phân123456789ABCDEFGDecimal12345678910111213141516Việc chuyển đổi sang hệ thập lục phân tương tự như chuyển đổi được minh họa cho hệ bát phân, điểm khác biệt duy nhất là lần này các lũy thừa sẽ có cơ số 16. Bằng cách này, 17 trở thành 11 trong ký hiệu thập lục phân. Để biểu thị một số thập lục phân trong Python, chúng ta phải sử dụng tiền tố “0x”. Hàm cho phép chúng ta chuyển đổi từ một hệ thống số sang hệ thập lục phân được gọi là
1 * 24 + 1 * 23 + 0 * 22 + 1 *21 + 1 *20 = 16 + 8 + 2 + 1 = 274 và chấp nhận làm tham số đầu vào bất kỳ số nguyên nào được biểu thị bằng một trong các hệ thống số đã nói ở trên
1 * 24 + 1 * 23 + 0 * 22 + 1 *21 + 1 *20 = 16 + 8 + 2 + 1 = 275
Còn số nổi thì sao?
Như bạn có thể nhận thấy, tất cả các hàm được đề cập đều chấp nhận làm đầu vào cho việc chuyển đổi chỉ các số nguyên;
Tuy nhiên, đối với trường hợp số Hexadecimal, Python cung cấp sẵn một hàm để chuyển đổi số thực từ hệ thập phân sang hệ thập lục phân. Hàm này được gọi là
1 * 24 + 1 * 23 + 0 * 22 + 1 *21 + 1 *20 = 16 + 8 + 2 + 1 = 275 và chấp nhận làm tham số đầu vào là số thực trong ký hiệu thập phân. Các dòng mã sau đây cung cấp một ví dụ về việc sử dụng nó
1 * 24 + 1 * 23 + 0 * 22 + 1 *21 + 1 *20 = 16 + 8 + 2 + 1 = 270
Như bạn có thể thấy, ký hiệu được sử dụng để diễn đạt câu trả lời hoàn toàn khác với ký hiệu được sử dụng cho các số nguyên; . Chữ “p” là viết tắt của “nhân 2 lũy thừa” và “+8” là số mũ, trong khi dấu đầu dòng là dấu thập phân. Đây chỉ là một trong những ký hiệu có thể để biểu thị các số dấu phẩy động trong các ký hiệu khác nhau;
- tôi] https. // vi. wikipedia. org/wiki/Hệ thập lục phân,
- ii] https. // stackoverflow. com/câu hỏi/54947861/32-bit-ieee-754-single-precision-floating-point-to-hexadecimal
kết luận
Trong bài viết này, chúng ta đã xem qua các hệ thống số được sử dụng rộng rãi nhất và các hàm mà Python cung cấp để chuyển đổi từ ký hiệu này sang ký hiệu khác. Khi lập trình, ít nhất bạn nên có thể nhận ra hệ thống số được sử dụng để quyết định sử dụng hàm nào trong số các hàm nêu trên để chuyển đổi thành hệ thống số hiện đang được sử dụng