Binary 使用IEEE754标准将浮点转换为二进制

Binary 使用IEEE754标准将浮点转换为二进制,binary,floating-point,elixir,Binary,Floating Point,Elixir,如何在Elixir中使用IEEE754标准转换32位浮点二进制 可以使用integer.to_string/2并将基数2作为第二个选项来转换整数 iex> Integer.to_string(5, 2) "101" 但是浮点模块没有这样的功能,只有Float.to_string/1存在iex> iex> <<-2.90::float-32>> <<192, 57, 153, 154>> 如果你需要把它转换成十六进制 <<

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

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

iex> Integer.to_string(5, 2)
"101"
但是浮点模块没有这样的功能,只有
Float.to_string/1
存在

iex>
iex> <<-2.90::float-32>>
<<192, 57, 153, 154>>
如果你需要把它转换成十六进制

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

关于
macro

您自己的问题回答错了吗?我的意思是你是想转换成二进制还是其他的基数?
是二进制的,它是字节的集合,所以从这种格式你可以将它转换成基数2或基数16。