有一种简便的方法来实现numpy.base_repr的宽度吗?

时间:2018-10-08 08:22:39

标签: python numpy base

numpy.binary_reps具有很好的“ width”关键字来设置所需的输出宽度。 numpy.base_repr函数确实将奇怪的选择“ padding”作为关键字。

因此,如果我想在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 :(得分:1)

一种解决方法是强制以'10000 ...'开头并截断一个:

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