Python конвертирует отрицательное целое число в байт (singed = True), но конвертирует обратно, оно становится положительным - PullRequest
0 голосов
/ 26 августа 2018
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], ответ будет дваположительный

любая помощь высоко ценится заранее спасибо

Ответы [ 2 ]

0 голосов
/ 26 августа 2018

Вы должны использовать метод int.from_bytes() для преобразования байта обратно в целое число:

print(int.from_bytes(array, byteorder='big', signed=True))
0 голосов
/ 26 августа 2018

Возможно использование abs:

print(abs(number))

Или для обоих:

print(-number)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...