Erlang腳印 0006 二進位制位串

2022-04-13 05:22:56 字數 1187 閱讀 5592

位串可以寫作<< 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年發明了摩斯電碼和有線電報。有線電報的出現,具有劃時代的意義 它讓人類獲得了一種全新的資訊傳遞方式,這種方式 看不見 摸不著 聽不到 完全不同於以往的信件 旗語 號角 烽火,這也是二進...