Есть ли простой способ реализовать ширину для numpy.base_repr? - PullRequest
0 голосов
/ 08 октября 2018

У numpy.binary_reps есть красивое ключевое слово width, чтобы установить желаемую ширину вывода.Вместо этого у функции numpy.base_repr есть странный выбор «padding» в качестве ключевого слова.

Таким образом, если я хочу иметь конкретную WIDTH моего базового N, вместо

np.base_repr(x,base=N,width=WIDTH)

мне нужно сделать

np.base_repr(x,base=N,padding=WIDTH-int(np.ceil(np.log(x+1)/np.log(N)))

, что, по меньшей мере, неоптимально.Кто-нибудь знает способ обойти это?

1 Ответ

0 голосов
/ 08 октября 2018

Обходной путь состоит в том, чтобы принудительно ввести «10000 ...» и усечь его:

base = 16
width = 10
number = 255
shift = base**width # 10...000 in base 'base'
_repr = np.base_repr(number+shift,base)[-width:]
# '00000000FF'
...