第7章 二進位制型與位語法
阿新 • • 發佈:2018-12-16
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的位串組合成.