今天第一次发现N进制转10进制竟然有两种方法,除了经常用的那一种之外,还有一种方法。话不多说,开始讲解方法吧: 假设我们有一个26进制的数 : 123,要把它转化为10进制的数Q,两种方法分别如下: 方法一:Q=3*(260)+2*(261)+1*(262)=3+52+676=731 方法二:Q=(1*26+2)*26+3=731
为了验证方法二的准确性,我们编程验证一下:
Python代码如下:
def fun1(N
,jinzhi
):
Q
=0
product
=1
while N
!= 0:
Q
=Q
+(N
%10)*product
N
=N
//10
product
= product
*jinzhi
return Q
def fun2(N
,jinzhi
):
Nstr
=str(N
)
Q
=0
for i
in Nstr
:
Q
=Q
*jinzhi
+int(i
)
return Q
if __name__
=="__main__":
num
=456
jinzhi
=13
P1
=fun1
(num
,jinzhi
)
P2
=fun2
(num
,jinzhi
)
print(P1
,P2
)
转载请注明原文地址:https://ipadbbs.8miu.com/read-13856.html