位串可以寫作<< e1,e2....en>>,其中雙小於號和雙大於號之間可以包含零個或多個區段指示符,位串以位元位為單位的整體長度。區段指示符可以為以下形式之一:
data | data:size | data/typespecifiers | data:size/typespecifiers
typespecifiers : 主要控制區段編譯碼的細節,它由乙個或多個由(-)分隔的原子組成,例如 integer-unsigned-big 原子出現的順序不重要,可以用的指示符如下,這些指示符可以有多種組合方式,但是每一組,只能出現乙個。bits是bitstring的別名,bytes是binary的別名。對於integer、float、bitstring型別,尺寸單位是1位元位,binary是8位元位
integer | float | binary | bytes | bitstring | bits | utf8 | utf16 | utf32
signed | unsigned
big | little | native
55>f().ok56> red = 2.
257> green = 61.
6158> blue =20.
2059> mem = <>.
<<23,180>>
60> <> = mem. %%
表示r1 取5bit, g1取6bit, b1 取5bit
<<23,180>> 00010 111|101 10100 %%
前面5位是r1=2,中間6位是g1=61, 後面5位b1=20, 由於是8bit表示一位所以,最後的組合是23, 180
61>r1.
262>g1.
6163>b1.
2064> a=list_to_binary("cc002801").
<<"cc002801">>
65> <> =a.
** exception error: no match of right hand side value <<"cc002801">>
66> <> = a. %%
b取2個單位,每單位為binary ,c取4單位,每單位binary
<<"cc002801">>
67>b.
<<"cc">>
68>c.
<<"0028">>
69>
erlang的二進位制使用學習
erlang 二進位制 最近因工作要求,需要使用erlang程式語言進行程式開發,不過一直沒 有機會應用erlang的二進位制使用,個人感覺erlang的二進位制功能很強大,但是裡面有些知識點比較拗口,一不小心就模糊了相關的使用規則,下 面列出其使用方式以備忘記 1.將乙個整數強制拆分成指定長度的二...
Erlang筆記 二進位制 位元位語法
看erlang的語法看到二進位制處理部分覺都很有意思,做個記錄 存在於很多函式式程式語言之中的列表速構的思想,也被擴充套件到了erlang的位元位語法中。位串速構酷似列表速構,只是 被換成了 以乙個小整數列表為例,所有整數都在0和7之間,你可以按每個數3位元位將它們打包成位串,如下 x 3 x 1,...
二進位制 二進位制起源
現代通訊技術的基礎是二進位制編碼。早在1865年麥克斯韋總結出麥克斯韋方程組之前,美國人摩斯 morse 於1837年發明了摩斯電碼和有線電報。有線電報的出現,具有劃時代的意義 它讓人類獲得了一種全新的資訊傳遞方式,這種方式 看不見 摸不著 聽不到 完全不同於以往的信件 旗語 號角 烽火,這也是二進...