Kiểu int trong Python có cài đặt sẵn một abstract base class – lớp trừu tượng cơ sở là numbers.Integral.

1. Hàm int.bit_length()

Trả về số lượng các bits cần thiết để biểu diễn một số nguyên ở dạng nhị phân, không bao gồm phần dấu và các số 0 ở đầu.

Đoạn code ví dụ:

# -----------------------------------------------------------
#Cafedev.vn - Kênh thông tin IT hàng đầu Việt Nam
#@author cafedevn
#Contact: cafedevn@gmail.com
#Fanpage: https://www.facebook.com/cafedevn
#Instagram: https://instagram.com/cafedevn
#Twitter: https://twitter.com/CafedeVn
#Linkedin: https://www.linkedin.com/in/cafe-dev-407054199/
# -----------------------------------------------------------


num = 7
print(num.bit_length()) 
  
num = -7
print(num.bit_length()) 

Kết quả in ra là:

3
3

2. Hàm int.to_bytes(length, byteorder, *, signed=False)

Trả về một mảng các bytes đại diện cho một số nguyên

Ví dụ trả về biểu diễn kiểu byte ở định dạng 1024 theo kiểu big endian:


# Returns byte representation of 1024 in a 
# big endian machine. 
print((1024).to_bytes(2, byteorder ='big')) 

Kết quả in ra là:

b'\x04\x00'

3. Hàm int.from_bytes(bytes, byteorder, *, signed=False)

Trả về biểu diễn dạng số nguyên của một mảng các bytes được cho trước

Ví dụ trả về giá trị nguyên của ‘\x00\x10’ theo kiểu big endian


# Returns integer value of '\x00\x10' in big endian machine. 
print(int.from_bytes(b'\x00\x10', byteorder ='big')) 

Kết quả in ra là:

16

Nguồn và Tài liệu tiếng anh tham khảo:

Tài liệu từ cafedev:

Nếu bạn thấy hay và hữu ích, bạn có thể tham gia các kênh sau của cafedev để nhận được nhiều hơn nữa:

Chào thân ái và quyết thắng!

Đăng ký kênh youtube để ủng hộ Cafedev nha các bạn, Thanks you!