语言无关 – 如何显示float或double的二进制表示形式?

前端之家收集整理的这篇文章主要介绍了语言无关 – 如何显示float或double的二进制表示形式?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我想显示浮点数的二进制(或十六进制)表示。我知道如何手工转换(使用方法 here),但我有兴趣看到的代码示例,做同样的。

虽然我特别感兴趣的C和Java解决方案,我想知道是否任何语言使它特别容易,所以我使这种语言不可知。我很想看到其他语言的一些解决方案。

编辑:我已经得到良好的C,C,C#和Java的覆盖。有没有任何替代语言的古茹在那里谁想要添加到列表中?

解决方法

C/C++很容易。
union ufloat {
  float f;
  unsigned u;
};

ufloat u1;
u1.f = 0.3f;

然后你只输出u1.u。你可以适应this implementation

双打也很容易。

union udouble {
  double d;
  unsigned long u;
}

因为双精度是64位。

Java有点简单:使用Float.floatToRawIntBits()结合Integer.toBinaryString()Double.doubleToRawLongBits结合Long.toBinaryString()

猜你在找的CSS相关文章