【问题标题】:Converting float to binary using IEEE754 standard使用 IEEE754 标准将浮点数转换为二进制
【发布时间】:2023-04-07 11:15:01
【问题描述】:

如何在 Elixir 中使用 IEEE754 标准转换 32 位浮点二进制。

可以通过使用Integer.to_string/2 并将基数 2 作为第二个选项来转换整数

iex> Integer.to_string(5, 2)
"101"

但是 Float 模块没有这个功能,只有Float.to_string/1 存在

【问题讨论】:

    标签: binary floating-point elixir


    【解决方案1】:
    iex> <<-2.90::float-32>>
    <<192, 57, 153, 154>>
    

    如果您需要将其转换为十六进制

    <<-2.1::float-32>> |> Base.encode16
    "C0066666"
    

    more reading 关于&lt;&lt;&gt;&gt;

    【讨论】:

    • 您自己的问题回答错了吗?我的意思是你想转换成二进制还是其他基数?
    • &lt;&lt;192, 57, 153, 154&gt;&gt; 是一个二进制文件,它是字节的集合,因此您可以从这种格式将其转换为基数 2 或 16。
    猜你喜欢
    • 2015-07-31
    • 1970-01-01
    • 2018-10-17
    • 1970-01-01
    • 2014-11-24
    • 2017-06-24
    • 2020-11-12
    • 1970-01-01
    • 2011-04-26
    相关资源
    最近更新 更多