是否可以更改 python 中的数字系统?
Is it possible to change number systems in python?
这听起来可能与许多其他问题相似,但我找不到我的答案。我想知道你是否可以切换任何数字的数字系统。例如,
x = 10
y = int(10, 3)
如何将 x 转换为以 3 为基数的数字系统?这是我见过的解决方案,但没有奏效。我知道二进制、十进制和十六进制系统有一个单独的函数,但我不知道其他数字系统的任何信息。
math.log(yournumber,basenumber)
你能试试这个吗?
来自 ,这是一个函数,它将 return 以您想要的任何基数表示的十进制数的字符串表示形式:
def baseb(n, b):
e = n//b
q = n%b
if n == 0:
return '0'
elif e == 0:
return str(q)
else:
return baseb(e, b) + str(q)
>>> baseb(10,3)
'101'
更好的是,您可以使用 numpy:
>>> import numpy as np
>>> np.base_repr(10, 3)
'101'
这听起来可能与许多其他问题相似,但我找不到我的答案。我想知道你是否可以切换任何数字的数字系统。例如,
x = 10
y = int(10, 3)
如何将 x 转换为以 3 为基数的数字系统?这是我见过的解决方案,但没有奏效。我知道二进制、十进制和十六进制系统有一个单独的函数,但我不知道其他数字系统的任何信息。
math.log(yournumber,basenumber)
你能试试这个吗?
来自
def baseb(n, b):
e = n//b
q = n%b
if n == 0:
return '0'
elif e == 0:
return str(q)
else:
return baseb(e, b) + str(q)
>>> baseb(10,3)
'101'
更好的是,您可以使用 numpy:
>>> import numpy as np
>>> np.base_repr(10, 3)
'101'