1.int.bit_length():返回以二进制表示一个整数所需要的位数,不包括符号位和前面的零
n=37
print(bin(n)) #0b100101
print(n.bit_length()) #6
n=-37
print(bin(n)) #-0b100101
print(n.bit_length()) #6
n=0
print(bin(n)) #0b01
print(n.bit_length()) #0
2.int.to_bytes(length, byteorder, *, signed=False):返回表示一个整数的字节数组
length--表示字节数
byteorder--确定用于表示整数的字节顺序,如果 byteorder 为 "big",则最高位字节放在字节数组的开头;如果 byteorder 为 "little",则最高位字节放在字节数组的末尾
signed--确定是否使用二的补码来表示整数; 如果 signed 为 False 并且给出的是负整数,则会引发 OverflowError;signed 的默认值为 False
n=37
print(n.to_bytes(2,byteorder="big")) #b'\x00%'
n=2015
print(n.to_bytes(2,byteorder="big")) #b