位串

位串 属于 Elixir

3 个练习

关于 位串

位串让程序员可以高效地处理二进制数据。

  • 你可以使用<<>> 特殊形式优雅地构造位串。

    <<0b101::3>> == <<5::3>> and <<5::3>> == <<5::size(3)>>
    # => true
    
    first = <<0b110::3>>
    second = <<0b001::3>>
    combined = <<first::bitstring, second::bitstring>>
    # => <<49::size(6)>>
    
  • 你可以使用<<>>形式进行匹配,并用该匹配进一步分解二进制数据。

    <<data_size::32, count::size(data_size)>> = <<8::32, 3::8>>
    # => <<0, 0, 0, 8, 3>>
    data_size
    # => 8
    count
    # => 3
    
  • 你可以使用::bitstring匹配位串的剩余部分。

    <<_::32, remainder::bitstring>> = <<8::32, 3::8>>
    # => <<0, 0, 0, 8, 3>>
    remainder
    # => <<3>>
    
  • 二进制数据类型是一种特殊的位串,它的位数能被 8 整除。

    • 所有二进制都是位串,但并非所有位串都是二进制。
  • Elixir 为以不同形式使用整数字面量提供了语法糖:

    • 0b1000001 = ?A = 65
通过 GitHub 编辑 该链接会在新窗口或标签页中打开

学习 位串

练习已锁定

再解锁 2 个练习即可练习 位串