有没有简单的方法来实现 numpy.base_repr 的宽度?
Is there an ieasy way to implement width for numpy.base_repr?
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)))
至少可以说这是次优的。有人知道解决这个问题的方法吗?
一种解决方法是强制前导“10000...”并截断那个:
base = 16
width = 10
number = 255
shift = base**width # 10...000 in base 'base'
_repr = np.base_repr(number+shift,base)[-width:]
# '00000000FF'
如果您无论如何都在弄乱字符串,请在之后再做?
res = np.base_repr(x, base=N)
res = '0' * (WIDTH - len(res)) + res
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)))
至少可以说这是次优的。有人知道解决这个问题的方法吗?
一种解决方法是强制前导“10000...”并截断那个:
base = 16
width = 10
number = 255
shift = base**width # 10...000 in base 'base'
_repr = np.base_repr(number+shift,base)[-width:]
# '00000000FF'
如果您无论如何都在弄乱字符串,请在之后再做?
res = np.base_repr(x, base=N)
res = '0' * (WIDTH - len(res)) + res