print(hex2part(num=1, part=3))
out:
[['0x0', '0x4'], ['0x5', '0x9'], ['0xa', '0xe']]
Сейчас это работает, но я применил range диапазона. Как можно догадаться, чем больше num, тем медленней это делается
print(hex2part(num=7, part=3))
out:
time ./test.py
[['0x0', '0x5555554'], ['0x5555555', '0xaaaaaa9'], ['0xaaaaaaa', '0xffffffe']]
real 0m9.491s
user 0m7.010s
sys 0m2.479s
Как бы всё это сделать на уровне математики, чтобы не прибегать к использованию range?