将基数的浮点数转换为另一个基数的浮点数的算法是什么?

时间:2014-08-28 16:12:19

标签: base base-conversion

我想问你是否有人知道如何实现这个目标:

让我说我有一个像 0.56但有基数N 的浮点数我希望将它转换为带有基数T的浮点数,怎么能我实现了吗?有公式还是什么?

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

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

感谢您的关注!

1 个答案:

答案 0 :(得分:2)

他们是一种为所有整数做到这一点的方法,包括负基础。

将其分成小部分。

x=number

b=base

n=digits

Loop i:

(x/(ib))%b=n

n_etc。 n4 n3 n2 n1

如果你没有将它分成它的小数部分,则使用该基数的乘法逆来评估小数点后的部分。

如果你想要分数或非理性基数,那么我建议你这样做,但我还没弄明白如何让它适用于负基础。

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