【问题标题】:What is the algorithm to convert a float of a base to the float of another base?将一个基数的浮点数转换为另一个基数的浮点数的算法是什么?
【发布时间】:2014-10-22 14:06:08
【问题描述】:

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

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

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

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

感谢关注!

【问题讨论】:

  • 我们不是来教你数学的。
  • 好的,我应该在哪里发布这个问题?

标签: base base-conversion


【解决方案1】:

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

把它分成小数部分。

x=number

b=base

n=digits

Loop i:

(x/(ib))%b=n

n_等。 n4 n3 n2 n1

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

如果你想要分数或无理数基数,我建议你参考这个,但我还没有弄清楚如何让它适用于负数基数。

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

【讨论】:

    猜你喜欢
    • 2012-09-07
    • 1970-01-01
    • 2014-04-06
    • 1970-01-01
    • 1970-01-01
    • 2016-12-02
    相关资源
    最近更新 更多