我想显示浮点数的二进制(或十六进制)表示。我知道如何手工转换(使用方法
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()。