📜  int 上的Python位函数(bit_length、to_bytes 和 from_bytes)

📅  最后修改于: 2022-05-13 01:55:29.117000             🧑  作者: Mango

int 上的Python位函数(bit_length、to_bytes 和 from_bytes)

int 类型实现numbers.Integral 抽象基类。

1. int.bit_length()
返回以二进制表示整数所需的位数,不包括符号和前导零。

演示代码

num = 7
print(num.bit_length())
  
num = -7
print(num.bit_length())
输出:
3
3

2. int.to_bytes(length, byteorder, *, signed=False)
返回表示整数的字节数组。如果 byteorder 为“大”,则最高有效字节位于字节数组的开头。如果 byteorder 为“little”,则最高有效字节位于字节数组的末尾。有符号参数确定是否使用二进制补码来表示整数。

# Returns byte representation of 1024 in a
# big endian machine.
print((1024).to_bytes(2, byteorder ='big'))
输出:
b'\x04\x00'

3. int.from_bytes(bytes, byteorder, *, signed=False)
返回由给定字节数组表示的整数。

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