Làm thế nào để bạn chuyển đổi hệ thập lục phân sang python?

❮ Chức năng tích hợp sẵn

Định nghĩa và cách sử dụng

Hàm

hex_val = '0xdeadcab'

print[int[hex_val, 0]]
print[int[hex_val, 16]]
3 chuyển đổi số đã chỉ định thành giá trị thập lục phân

Chuỗi trả về luôn bắt đầu bằng tiền tố

hex_val = '0xdeadcab'

print[int[hex_val, 0]]
print[int[hex_val, 16]]
4

cú pháp

Giá trị tham số

Tham sốMô tảsốMột số nguyên

❮ Chức năng tích hợp sẵn


Hướng dẫn này sẽ trình bày cách chuyển đổi chuỗi hex thành

hex_val = '0xdeadcab'

print[int[hex_val, 0]]
print[int[hex_val, 16]]
5 trong Python. Nó sẽ bao gồm các định dạng hex khác nhau như có dấu, little và big-endian, hệ thập lục phân có chú thích
hex_val = '0xdeadcab'

print[int[hex_val, 0]]
print[int[hex_val, 16]]
4 và chuỗi hex mặc định

Sử dụng
hex_val = '0xdeadcab'

print[int[hex_val, 0]]
print[int[hex_val, 16]]
7 để chuyển đổi Hex thành Int trong Python

Cách phổ biến và hiệu quả nhất để chuyển đổi hex thành số nguyên trong Python là sử dụng hàm truyền kiểu

hex_val = '0xdeadcab'

print[int[hex_val, 0]]
print[int[hex_val, 16]]
7

Hàm này chấp nhận hai đối số. một đối số bắt buộc, là giá trị được chuyển đổi và đối số tùy chọn thứ hai, là cơ sở của định dạng số với giá trị mặc định là

hex_val = '0xdeadcab'

print[int[hex_val, 0]]
print[int[hex_val, 16]]
0

Các định dạng số khác là

hex_val = '0xdeadcab'

print[int[hex_val, 0]]
print[int[hex_val, 16]]
1 cho hệ nhị phân,
hex_val = '0xdeadcab'

print[int[hex_val, 0]]
print[int[hex_val, 16]]
2 cho hệ bát phân và
hex_val = '0xdeadcab'

print[int[hex_val, 0]]
print[int[hex_val, 16]]
3 cho hệ thập lục phân. Nếu bạn đặt
hex_val = '0xdeadcab'

print[int[hex_val, 0]]
print[int[hex_val, 16]]
4 làm đối số cho giá trị cơ sở, nó sẽ lấy định dạng số từ tiền tố của giá trị. Nếu không có bất kỳ tiền tố nào, nó sẽ tự động nhận dạng nó dưới dạng số thập phân,
hex_val = '0xdeadcab'

print[int[hex_val, 0]]
print[int[hex_val, 16]]
5 cho hệ nhị phân,
hex_val = '0xdeadcab'

print[int[hex_val, 0]]
print[int[hex_val, 16]]
6 cho hệ bát phân và
hex_val = '0xdeadcab'

print[int[hex_val, 0]]
print[int[hex_val, 16]]
4 cho hệ thập lục phân

Chuyển đổi chuỗi Hex không có tiền tố thành Int trong Python

Nếu chuỗi thập lục phân không có tiền tố, thì hãy chỉ định giá trị cơ sở của hàm

hex_val = '0xdeadcab'

print[int[hex_val, 0]]
print[int[hex_val, 16]]
7 là 16

Ví dụ

hex_val = 'beef101'

print[int[hex_val, 16]]

đầu ra

Kết quả là chuyển đổi số thập phân hoặc số nguyên của giá trị hex

hex_val = '0xdeadcab'

print[int[hex_val, 0]]
print[int[hex_val, 16]]
9

Chuyển đổi chuỗi Hex có tiền tố thành Int trong Python

Nếu chuỗi hex có tiền tố

hex_val = '0xdeadcab'

print[int[hex_val, 0]]
print[int[hex_val, 16]]
4, sau đó thay đổi đối số giá trị cơ sở thành
hex_val = '0xdeadcab'

print[int[hex_val, 0]]
print[int[hex_val, 16]]
4 để tự động phát hiện tiền tố

Bạn vẫn có thể chuyển

hex_val = '0xdeadcab'

print[int[hex_val, 0]]
print[int[hex_val, 16]]
3 làm cơ sở, nhưng nếu bạn đang xử lý nhiều giá trị với các định dạng số khác nhau, thì chuyển
hex_val = '0xdeadcab'

print[int[hex_val, 0]]
print[int[hex_val, 16]]
4 là cách tốt nhất

hex_val = '0xdeadcab'

print[int[hex_val, 0]]
print[int[hex_val, 16]]

đầu ra

Chuyển đổi chuỗi Hex Little và Big Endian thành Int trong Python

Đơn đặt hàng byte endian nhỏ và big-endia là hai loại hệ thống đặt hàng cho hệ thập lục phân. Thứ tự mặc định là little-endian, đặt số quan trọng nhất ở phần ngoài cùng bên phải của chuỗi, trong khi big-endian thì ngược lại

Với ý nghĩ đó, tất cả những gì chúng ta phải xem xét là chuyển đổi giá trị thập lục phân lớn thành giá trị cuối nhỏ. Sau đó, chuyển đổi thông thường có thể được thực hiện trên nó

Để chuyển đổi một chuỗi thập lục phân lớn về cuối thành một chuỗi nhỏ, hãy sử dụng

hex_val = '0xdeadcab'

print[int[hex_val, 0]]
print[int[hex_val, 16]]
34 và sử dụng hàm
hex_val = '0xdeadcab'

print[int[hex_val, 0]]
print[int[hex_val, 16]]
35 trên kết quả. Sau đó, chuyển đổi giá trị thập lục phân trở lại chuỗi và chuyển đổi thành số nguyên

hex_val = '0xdeadcab'

print[int[hex_val, 0]]
print[int[hex_val, 16]]
3

Để tóm tắt khối mã này

  • Gọi
    hex_val = '0xdeadcab'
    
    print[int[hex_val, 0]]
    print[int[hex_val, 16]]
    
    34 để chuyển đổi chuỗi hex big-endian thành giá trị thập lục phân mảng byte
  • Đảo ngược mảng byte để chuyển đổi định dạng big-endian thành định dạng little-endian
  • Chuyển đổi giá trị mảng byte trở lại thành định dạng chuỗi hex trong little-endian
  • Chuyển đổi chuỗi thành số nguyên bằng cách sử dụng
    hex_val = '0xdeadcab'
    
    print[int[hex_val, 0]]
    print[int[hex_val, 16]]
    
    7

đầu ra

hex_val = '0xdeadcab'

print[int[hex_val, 0]]
print[int[hex_val, 16]]
7

Chuyển đổi Hex thành Số nguyên đã ký trong Python

Việc chuyển đổi bất kỳ định dạng số nào thành số nguyên có dấu sẽ cần một phép toán có tên là Phép cộng của hai, đây là phép toán theo bit để tính toán các số có dấu

Vì vậy, trước khi chúng ta có thể chuyển đổi hệ thập lục phân thành một số nguyên có dấu, chúng ta cần xác định một hàm sẽ thực hiện phép toán Hai phần bù

hex_val = '0xdeadcab'

print[int[hex_val, 0]]
print[int[hex_val, 16]]
8

Bit ngoài cùng bên trái trong một giá trị nhị phân được gọi là bit đã ký, xác định xem số nguyên là dương hay âm. Hàm này sẽ dự trữ bit đó làm bit đã ký và dịch chuyển các bit khác để bù bằng cách sử dụng toán tử dịch chuyển trái theo chiều bit

hex_val = '0xdeadcab'

print[int[hex_val, 0]]
print[int[hex_val, 16]]
38

Bây giờ, chuyển sang chuyển đổi thực tế của giá trị hex sang int đã ký

hex_val = '0xdeadcab'

print[int[hex_val, 0]]
print[int[hex_val, 16]]
0

đầu ra

Bây giờ, chúng ta đã hoàn thành việc chuyển đổi một chuỗi hex thành một số nguyên có dấu

Tóm lại, chúng tôi đã đề cập đến việc chuyển đổi các loại định dạng thập lục phân khác nhau thành số nguyên có dấu và không dấu. Sử dụng

hex_val = '0xdeadcab'

print[int[hex_val, 0]]
print[int[hex_val, 16]]
7 với các đối số giá trị và cơ số để chuyển đổi một số hex thành một số nguyên không dấu

Nếu hệ thập lục phân ở định dạng big-endian, trước tiên hãy chuyển đổi nó thành định dạng little-endian bằng cách sử dụng

hex_val = '0xdeadcab'

print[int[hex_val, 0]]
print[int[hex_val, 16]]
34 và
hex_val = '0xdeadcab'

print[int[hex_val, 0]]
print[int[hex_val, 16]]
35

Cuối cùng, nếu bạn cần chuyển đổi một chuỗi hex thành một số nguyên có dấu, thì hãy thực hiện thao tác Bổ sung của hai trên giá trị thập lục phân trên đó để nhận giá trị số nguyên có dấu

Làm cách nào để chuyển đổi hệ thập lục phân sang nhị phân Python?

Hex sang nhị phân . Ví dụ: biểu thức bin[0xf] mang lại chuỗi nhị phân '0b1111'. using Python's built-in function bin[] . For example, the expression bin[0xf] yields the binary string '0b1111' .

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

Chủ Đề