我想實現位填充爲我工作的一個項目,即一個簡單的軟件AFSK調制解調器。簡化協議看起來是這樣的:我應該使用哪種數據結構進行位填充?
0111 1110 # burst sequence
0111 1110 # 16 times 0b0111_1110
...
0111 1110
...
... # 80 bit header (CRC, frame counter, etc.)
...
0111 1110 # header delimiter
...
... # data
...
0111 1110 # end-of-frame sequence
現在我需要找到在接收到的數據所保留的序列0111 1110
,因此必須確保,無論是標頭也不是數據包含連續的6人。這可以通過比特填充完成,例如5對那些
11111111
converts to
111110111
11111000
converts to
111110000
現在,如果我要有效地實現這一點,我想我不應該使用1和0,在這裏我要的數據字節轉換爲1和0陣列的每個序列之後插入一個零,然後填充一個數組等等,但是靜態大小的位域似乎也不適合,因爲由於位填充,內容的長度是可變的。
我可以使用哪些數據結構,更有效地做到位餡?
我剛纔看到這一點。如果你還沒有做到這一點,你需要一個數據結構或算法來做到這一點? – 2013-04-25 17:55:03