비트스트링을 사용하면 프로그래머가 바이너리 데이터를 효과적으로 다룰 수 있어요.
<<>> 특수 형식을 사용하면 비트스트링을 깔끔하게 만들 수 있어요.
<<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