【发布时间】: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
如何在 Elixir 中使用 IEEE754 标准转换 32 位浮点二进制。
可以通过使用Integer.to_string/2 并将基数 2 作为第二个选项来转换整数
iex> Integer.to_string(5, 2)
"101"
但是 Float 模块没有这个功能,只有Float.to_string/1 存在
【问题讨论】:
标签: binary floating-point elixir
iex> <<-2.90::float-32>>
<<192, 57, 153, 154>>
如果您需要将其转换为十六进制
<<-2.1::float-32>> |> Base.encode16
"C0066666"
more reading 关于<<>> 宏
【讨论】:
<<192, 57, 153, 154>> 是一个二进制文件,它是字节的集合,因此您可以从这种格式将其转换为基数 2 或 16。