Elixir 中的字符串、二进制与控制流
一、Elixir 中的二进制
在 Elixir 里,二进制的使用十分灵活。我们可以在二进制中存储整数、浮点数和其他二进制数据。例如:
iex> b = << 1::size(2), 1::size(3) >>
# 01 001
<<9::size(5)>>
# = 9 (base 10)
iex> byte_size b
1
iex> bit_size b
5
这里定义了一个二进制 b ,并查看了它的字节大小和位大小。同时,我们还可以存储不同类型的数据:
iex> int = << 1 >>
<<1>>
iex> float = << 2.5 :: float >>
<<64, 4, 0, 0, 0, 0, 0, 0>>
iex> mix = << int :: binary, float :: binary >>
<<1, 64, 4, 0, 0, 0, 0, 0, 0>>
对于 IEEE 754 浮点数,我们可以进行位提取操作。它有一个符号位、11 位指数和 52 位尾数。指数有一个偏移量 1023,尾数是一个分数,最高位假定为 1。示例如下:
超级会员免费看
订阅专栏 解锁全文
944

被折叠的 条评论
为什么被折叠?



