Почему функция Python hex() не работает с 64-битной двоичной цифрой, начинающейся с 1? [дубликат]Python

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Почему функция Python hex() не работает с 64-битной двоичной цифрой, начинающейся с 1? [дубликат]

Сообщение Anonymous »

У меня есть 64-битная двоичная строка, и я хочу преобразовать ее в шестнадцатеричную.
Вот мой простой код.

[2:].upper предназначен для удаления " 0x" символов из выходного значения.

Код: Выделить всё

bnum = "0100000000000000000000000000000000000000000000000000000000000000"
hdnum = hex(int((bnum),2))[2:].upper()
print("Hex Number: ",hdnum)
Output:  ('Hex Number: ', '4000000000000000')
Для этого примера вывод «4000000000000000» правильный.
Однако, когда я просто изменил значение bnum, установив 1-й бит на «1», а остальные на « 0")

Код: Выделить всё

bnum = "1000000000000000000000000000000000000000000000000000000000000000"
hdnum = hex(int((bnum),2))[2:].upper()
print("Hex Number: ",hdnum)
Output: ('Hex Number: ', '8000000000000000L')
Вывод «8000000000000000L» теперь неверен из-за дополнительного символа «L» в конце.
Могу ли я узнать, что не так с моим Использование функции hex() и как это исправить? Спасибо!

Подробнее здесь: https://stackoverflow.com/questions/692 ... -starts-wi
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Python»