Python đã ký hex thành thập phân
Trong bài viết này, chúng ta sẽ tìm hiểu về lời giải cho bài toán đưa ra dưới đây Show
Tuyên bố vấn đề − Chúng ta được cung cấp một chuỗi thập lục phân, chúng ta cần chuyển đổi nó thành số thập phân tương đương Chúng tôi có hai cách tiếp cận để giải quyết vấn đề−
Phương pháp Brute-ForceỞ đây chúng tôi nhờ sự trợ giúp của chức năng truyền kiểu rõ ràng i. e. số nguyên. Hàm này nhận hai đối số i. e. hex tương đương và cơ số i. e. (16). Hàm này được sử dụng để chuyển đổi một chuỗi thập lục phân thành số thập phân tương đương của nó trong một loại số nguyên, có thể được đánh máy thêm về định dạng chuỗi Thí dụBản thử trực tiếp #input string string = 'F' # converting hexadecimal string to decimal res = int(string, 16) # print result print("The decimal number associated with hexadecimal string is : " + str(res)) đầu raThe decimal number associated with hexadecimal string is: 15 Sử dụng mô-đun “ast” tích hợpỞ đây chúng tôi sử dụng hàm literal_eval có sẵn trong mô-đun ast, chúng tôi có thể dự đoán cơ sở của giá trị tương đương thập lục phân đã cho và sau đó chuyển đổi thành tương đương thập phân của nó. Ở đây chúng tôi sử dụng khái niệm đánh giá theo nghĩa đen Để chuyển đổi một chuỗi thập lục phân thành một số nguyên, hãy chuyển chuỗi đó làm đối số đầu tiên vào hàm 0x0 --> 0 0x4 --> 4 0x8 --> 8 0x12 --> 18 0x16 --> 22 0x20 --> 32 0x24 --> 36 0x28 --> 401 tích hợp của Python. Sử dụng 0x0 --> 0 0x4 --> 4 0x8 --> 8 0x12 --> 18 0x16 --> 22 0x20 --> 32 0x24 --> 36 0x28 --> 402 làm đối số thứ hai của hàm 0x0 --> 0 0x4 --> 4 0x8 --> 8 0x12 --> 18 0x16 --> 22 0x20 --> 32 0x24 --> 36 0x28 --> 401 để xác định rằng chuỗi đã cho là một số hex. Hàm 0x0 --> 0 0x4 --> 4 0x8 --> 8 0x12 --> 18 0x16 --> 22 0x20 --> 32 0x24 --> 36 0x28 --> 401 sau đó sẽ chuyển đổi chuỗi hex thành số nguyên có cơ số 10 và trả về kết quả Đây là một ví dụ tối thiểu >>> int('0xff', base=16) 255 ví dụVà đây là cách bạn có thể chuyển đổi các ví dụ bổ sung được hiển thị ở trên >>> int('0x0', base=16) 0 >>> int('0x4', base=16) 4 >>> int('0x8', base=16) 8 >>> int('0x12', base=16) 18 >>> int('0x16', base=16) 22 >>> int('0x20', base=16) 32 >>> int('0x24', base=16) 36 >>> int('0x28', base=16) 40 Bạn thực sự không cần sử dụng tiền tố 0x0 --> 0 0x4 --> 4 0x8 --> 8 0x12 --> 18 0x16 --> 22 0x20 --> 32 0x24 --> 36 0x28 --> 405 vì đối số thứ hai của bạn đã xác định rõ ràng rằng chuỗi đã cho là một số thập lục phân >>> int('0', base=16) 0 >>> int('4', base=16) 4 >>> int('8', base=16) 8 >>> int('12', base=16) 18 >>> int('16', base=16) 22 >>> int('20', base=16) 32 >>> int('24', base=16) 36 >>> int('28', base=16) 40 Tuy nhiên, bỏ qua cơ sở nhưng để lại tiền tố làm tăng 0x0 --> 0 0x4 --> 4 0x8 --> 8 0x12 --> 18 0x16 --> 22 0x20 --> 32 0x24 --> 36 0x28 --> 406 >>> int('0x28') Traceback (most recent call last): File " Nó giả định rằng chuỗi đầu vào ở cơ số 10 trong khi thực tế không phải vậy 💡 Lưu ý. Mặc dù việc chuyển một chuỗi có tiền tố 0x0 --> 0 0x4 --> 4 0x8 --> 8 0x12 --> 18 0x16 --> 22 0x20 --> 32 0x24 --> 36 0x28 --> 407 vào hàm 0x0 --> 0 0x4 --> 4 0x8 --> 8 0x12 --> 18 0x16 --> 22 0x20 --> 32 0x24 --> 36 0x28 --> 401 là rõ ràng, nhưng hàm 0x0 --> 0 0x4 --> 4 0x8 --> 8 0x12 --> 18 0x16 --> 22 0x20 --> 32 0x24 --> 36 0x28 --> 401 của Python không chấp nhận nó nếu bạn cũng không xác định cơ số. Điều này có thể được khắc phục trong các phiên bản sau Trên thực tế, bạn có thể chỉ định đối số cơ sở là 0 để bật tính năng đoán cơ sở—dù sao đó cũng phải là hành vi mặc định Đoán cơ sởBạn có thể chuyển một chuỗi có tiền tố 0x0 --> 0 0x4 --> 4 0x8 --> 8 0x12 --> 18 0x16 --> 22 0x20 --> 32 0x24 --> 36 0x28 --> 407 vào hàm 0x0 --> 0 0x4 --> 4 0x8 --> 8 0x12 --> 18 0x16 --> 22 0x20 --> 32 0x24 --> 36 0x28 --> 401 và đặt cơ sở thành 0 để bật tính năng đoán cơ sở trong Python. Điều này sử dụng tiền tố để xác định cơ số một cách tự động—mà bạn không cần phải đặt nó thành >>> int('0xff', base=16) 2552. Tuy nhiên, bạn vẫn phải đặt nó thành >>> int('0xff', base=16) 2553 để lợi ích là không đáng kể trong thực tế >>> int('0x9', base=16) 9 >>> int('0x9', base=0) 9 >>> int('0x9', 0) 9 Chuyển đổi chữ Hex thành IntNếu bạn không có chuỗi hex nhưng có số hex—được gọi là ký tự—chẳng hạn như >>> int('0xff', base=16) 2554, bạn thậm chí không cần hàm 0x0 --> 0 0x4 --> 4 0x8 --> 8 0x12 --> 18 0x16 --> 22 0x20 --> 32 0x24 --> 36 0x28 --> 401 vì Python sẽ tự động chuyển đổi nó thành số thập phân >>> 0x10 16 >>> 0xff 255 Nền int()Syntax: Đối số____6_______6Một đối tượng Python được chuyển đổi thành một số nguyên. Đối tượng giá trị phải có một phương thức >>> int('0xff', base=16) 2557 trả về số nguyên được liên kết—nếu không, một >>> int('0xff', base=16) 2558 sẽ được nâng lên. >>> int('0xff', base=16) 2559Một đối số số nguyên tùy chọn >>> int('0xff', base=16) 2559 để xác định cơ số của hệ thống số trong đối số >>> int('0xff', base=16) 2556. Nếu bạn đặt cơ sở, đối số >>> int('0xff', base=16) 2556 phải là một chuỗi. Đối số >>> int('0xff', base=16) 2559 xác định cách diễn giải đối số chuỗi. Giá trị trả về_______7_______4Trả về một số nguyên sau khi chuyển đổi đối số đầu vào >>> int('0xff', base=16) 2556 bằng cách sử dụng phương thức >>> int('0xff', base=16) 2557 cần thiết cho quá trình chuyển đổi Hàm int() trong Python Xem video này trên YouTube Bạn vẫn cần thêm thông tin cơ bản về hàm 0x0 --> 0 0x4 --> 4 0x8 --> 8 0x12 --> 18 0x16 --> 22 0x20 --> 32 0x24 --> 36 0x28 --> 401 tích hợp sẵn của Python chứ? Hướng dẫn liên quan. Chức năng 0x0 --> 0 0x4 --> 4 0x8 --> 8 0x12 --> 18 0x16 --> 22 0x20 --> 32 0x24 --> 36 0x28 --> 401 tích hợp sẵn của Python Bảng Hex sang IntĐể giải trí, đây là phép chuyển đổi từ hex sang int của lũy thừa hai Hexadecimal LiteralDecimal Literal1122448810hex16dec20hex32dec40hex64dec80hex128dec100hex256dec200hex512dec400hex1024dec800hex2048dec1000hex4096dec2000hex8192dec4000hex16,384dec8000hex32,768dec10000hex65,536dec👉 Hướng dẫn đề xuất. Chuyển đổi chuỗi Hex thành byte Nếu bạn muốn tìm hiểu cách chuyển đổi không chỉ một mà nhiều số nguyên thành một chuỗi hex duy nhất, hãy xem hướng dẫn chuyên sâu của chúng tôi trên blog Finxter Chris Trong khi làm việc với tư cách là một nhà nghiên cứu trong các hệ thống phân tán, Dr. Christian Mayer tìm thấy tình yêu của mình với việc dạy sinh viên khoa học máy tính Để giúp sinh viên đạt được mức độ thành công Python cao hơn, anh ấy đã thành lập trang web giáo dục lập trình Finxter. com. Ông là tác giả của cuốn sách lập trình nổi tiếng Python One-Liners (NoStarch 2020), đồng tác giả của loạt sách tự xuất bản Coffee Break Python, người đam mê khoa học máy tính, cộng tác viên tự do và chủ sở hữu của một trong 10 blog Python lớn nhất thế giới Niềm đam mê của anh ấy là viết, đọc và mã hóa. Nhưng niềm đam mê lớn nhất của anh ấy là phục vụ các lập trình viên đầy tham vọng thông qua Finxter và giúp họ nâng cao kỹ năng của mình. Bạn có thể tham gia học viện email miễn phí của anh ấy tại đây Làm cách nào để chuyển đổi hệ thập lục phân thành int trong Python?Bạn có thể chuyển đổi chuỗi lục giác thành số nguyên trong Python bằng cách sử dụng phương thức literal_eval() của thư viện ast (Cây cú pháp trừu tượng) . Ta phải truyền chuỗi hex cho hàm literal_eval(), không có tham số, hàm chuyển chuỗi hex thành số nguyên.
làm gì {. 02x có nghĩa là gì trong Python?Số 02x cho Python biết chúng tôi muốn số được biểu thị dưới dạng số thập lục phân có 2 chữ số, trong đó mọi chữ số bị thiếu đều được đệm bằng số 0 .
Làm cách nào để chuyển đổi hex thành thập phân?Số thập lục phân đã cho là 7CF. Để chuyển đổi số này thành hệ thống số thập phân, hãy nhân mỗi chữ số với lũy thừa 16 bắt đầu từ hàng đơn vị của số đó . Từ đó có thể xác định quy tắc chuyển đổi từ số hex sang số thập phân.
Làm cách nào để chuyển đổi hệ thập lục phân sang int?Để chuyển đổi chuỗi thập lục phân thành số . Sử dụng phương thức ToInt32(String, Int32) để chuyển đổi số được biểu thị trong cơ số 16 thành số nguyên. Đối số đầu tiên của phương thức ToInt32(String, Int32) là chuỗi cần chuyển đổi. . Lưu ý rằng chuỗi thập lục phân có các hạn chế sau. Nó không thể bao gồm tiền tố &h |