1. 程式人生 > >第7章 二進位制型與位語法

第7章 二進位制型與位語法

1.二進位制型:以雙小於號與雙大於號之間的一列整數或字串,若二進位制型裡的位數不是8的整數倍,那麼就稱為位串

  • <<5,10,20>> <<"hello">>

2.二進位制型操作

  • list_to_binary(L) ->B ,將列表L轉換為二進位制檔案B
  • split_binary(Bin,Pos) ->{Bin1,Bin2} 在Pos處將bin一分為二
  • term_to_binary(Term) ->Bin 將任意Erlang資料型別轉換為一個二進位制型
  • binary_to_term(Bin) -> Term
  • byte_size(Bin) -> Size 返回二進位制裡的位元組數

3.位語法:可以靈活的為各變數分配所佔的位數.

  • M= <<X:3,Y:7,Z:6>> 所佔位數為16,所以M是一個binary型別
  • M= <<X:2,Y:7,Z:6>> 所佔為15,非8的整數倍,所以M是一個bitstring型別.
  • 以RGB顏色打包為例:
  • R=2. Green=61. Blue=20. 則Men= <<Red:5,Green:6,Blue:5>> result: <<23,180>>

4.位語法表示式(P83)

5.位串:處理位級資料

  • B2= <<1:17>>.
  • result : <<0,0,1:1>>
  • 意味著B2是一個有2個位元組和一個1:1的位串組合成.