トラック
/
Elixir
Elixir
/
シラバス
/
ビットストリング
ビッ

ビットストリング の 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個の演習のロックを解除してください