将基数6转换为十进制?

时间:2014-04-04 13:41:30

标签: python python-3.x

我正在尝试制作一个程序,将基数为6的数字转换为十进制数(基数为10)。它似乎不起作用。有人可以帮忙。

a = 75
if a == 0:
    return 0
a = str(a)
result = (a[0])
for i in a[:1]:
    result *= 6
    result += (i)
print result

结果不起作用。

现在让我说我尝试添加2个基数为6的数字。我该怎么办?我试图将每个数字转换为基数6并添加它们,答案是不正确的。我还尝试先添加它们然后转换为基数6但它仍然不起作用。

我如何进行乘法运算?

由于

2 个答案:

答案 0 :(得分:5)

您可以使用int函数和radix参数,如下所示

int(str(number), 6)

例如,

print(int(str(55), 6))
# 35
print(int('10', 6))
# 6
print(int('6', 6))
# ValueError: invalid literal for int() with base 6: '6'

答案 1 :(得分:0)

问题"如何添加2个基数为6的数字或将它们相乘?#34;没有意义。

计算机中的所有数字都在基数2中。

此外,基地只是一种表现形式。所以(具有基数10表示的数字' 75')+(具有基数10表示的数字' 103')=(具有基数10表示的数字' 178' )不依赖于基础。

Base是您需要显示数字的功能,因为这需要从位到字符的转换。在大多数编程语言中,这默认为基数为10。

所以要回答你的问题"我如何添加2个基数为6的数字或乘以它们?" 我会说;你没有,你对基数2进行算术运算。 如果您的输入/输出位于基数6,则在读取/写入数字时需要注意,以便转换到正确的基数。