我正在尝试制作一个程序,将基数为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但它仍然不起作用。
我如何进行乘法运算?
由于
答案 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,则在读取/写入数字时需要注意,以便转换到正确的基数。