python 将负整数转换为 byte(singed=True),但转换回来,它变成正数
python convert a negative integer into byte(singed=True), but convert back, it becomes positive
number = -127
array = number.to_bytes( 1 , byteorder='big' , signed=True )
只转换为单个字节
print( array[0] )
number_positive = 254
array = array + number_positive.to_bytes( 1 , byteorder='big' , signed=False )
那我应该如何分别打印-127和254
如果我只使用 array[0] and array[1]
答案将是两个肯定
非常感谢任何帮助
提前谢谢你
也许使用 abs
:
print(abs(number))
或两者兼而有之:
print(-number)
您应该使用 int.from_bytes()
方法将字节转换回整数:
print(int.from_bytes(array, byteorder='big', signed=True))
number = -127
array = number.to_bytes( 1 , byteorder='big' , signed=True )
只转换为单个字节
print( array[0] )
number_positive = 254
array = array + number_positive.to_bytes( 1 , byteorder='big' , signed=False )
那我应该如何分别打印-127和254
如果我只使用 array[0] and array[1]
答案将是两个肯定
非常感谢任何帮助 提前谢谢你
也许使用 abs
:
print(abs(number))
或两者兼而有之:
print(-number)
您应该使用 int.from_bytes()
方法将字节转换回整数:
print(int.from_bytes(array, byteorder='big', signed=True))