0

我想问一下你们中是否有人知道如何做到这一点:

假设我有一个像0.56 这样的浮点数,但是以 N 为底,我想将它转换为以T 为底的浮点数,我该如何实现呢?有公式之类的吗?

例如,如果我必须将0.56从 base 8转换为 base 16,我知道它是0.B8(我手动将0.56(base 8)转换为 base 2 -> 0.101110然后我将这些位按 4 开始分组从浮点数,所以 1011 & 10 (1000) 是 B 和 8,因此是 B8)。

但是,如果我想以编程方式从 base 8 转换为 base 6 怎么办?不需要代码,只需要了解这是如何以自动方式实现的。

感谢关注!

4

1 回答 1

2

它们是一种对所有整数(包括负基数)执行此操作的方法。

把它分成它的分数部分。

x=number

b=base

n=digits

Loop i:

(x/(ib))%b=n

等。n4 n3 n2 n1

如果您没有将其分成小数部分,则使用该基数的乘法逆计算小数点后的部分。

如果您想要分数或无理数基数,那么我向您推荐这个,但我还没有弄清楚如何让它适用于负数基数。

https://math.stackexchange.com/questions/1938993/converting-bases/1939925#1939925

于 2016-09-25T14:15:19.247 回答