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)))
至少可以说是次优的。有人知道解决这个问题的方法吗?
答案 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'