JediSkywalker
Сен. 7, 2017 22:34:28
Напишите, пожалуйста, функцию, которая бы принимала десятичное число(eg 17428), конвертировало в шестнадцатиричную систему (4414), а затем обращало его по байтам (1444)
JediSkywalker
Сен. 7, 2017 23:23:00
Мне ещё нужно это число по байтам в файл запихать, полагаю, это будет считывание объекта bytearray или ещё чего-нибудь.
JediSkywalker
Сен. 7, 2017 23:28:44
Без функции как-то так должно выглядеть, но почему-то не все числа помещаются в байтэррэй. Число - uint32
p = bytearray(b"")
d = 999595
i = 0
while i <= 4:
a = d % (256 ** (i + 1))
c = 256 ** (i)
b = a // c
print(b)
p.append(b)
i += 1
print(p)
doza_and
Сен. 8, 2017 07:29:40
К вопросу о том почему никто не отвечает.
Полагаю что большинство считает что вы хотите чтобы вам дали готовое решение, но сами палец о палец не ударили чтобы его получить. Приведенный код взяли на другом форуме или у братьев по несчастью.
Решение реально размером в три строчки, и пишется на раз если прочитать учебник.
py.user.next
Сен. 8, 2017 16:56:03
>>> '%x' % 17428
'4414'
>>>
>>> bytes(reversed(bytes.fromhex('%x' % 17428))).hex()
'1444'
>>>
JediSkywalker
Сен. 12, 2017 17:51:26
Этот код писал я. Потом добавил не в байтэррэй, а в обычный массив. Мне не нужно готовое решение, а нужно было объяснить, почему не работает байтэррэй. Раз этого никто сделать не может, тогда ладно.