我想问你是否有人知道如何实现这个目标:
让我说我有一个像 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?不需要代码,只需要了解如何以自动方式实现这一点。
感谢您的关注!
答案 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