karulyana
@karulyana
Начинающий питонист

Если у меня строка в hex 'ffff' как перести в int = -1 в Python? тоесть как ему задать что это 2байта а не 4?

re = 'ffff'
re = int(re,16)
print(re)
  • Вопрос задан
  • 152 просмотра
Решения вопроса 2
longclaps
@longclaps
re = 'ffff'
re = int(re, 16)
if re > 0x8000:
    re -= 0x10000
print(re)

или однострочник
re = (int(re, 16) + 0x8000) % 0x10000 - 0x8000
Ответ написан
Комментировать
karulyana
@karulyana Автор вопроса
Начинающий питонист
from ctypes import *
re = 'ffff'
i = int(re,16)
cp = pointer(c_int(i))
f = cast(cp,POINTER(c_int16))
re = f.contents.value
print(re)

получилось)
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы