線上訂房服務-台灣趴趴狗聯合訂房中心
發文 回覆 瀏覽次數:1238
推到 Plurk!
推到 Facebook!

如何依照Bit來塞資料

缺席
pireer
初階會員


發表:73
回覆:80
積分:30
註冊:2004-12-14

發送簡訊給我
#1 引用回覆 回覆 發表時間:2007-01-16 11:12:21 IP:61.220.xxx.xxx 訂閱
我有一個fountion   Data(BYTE bData, int w, int x)
然後有一個陣列來存放資料 Darray[1024]
bData 傳BYTE資料.
w資料寬度
x 陣列的INDEX
x%8 開始的BIT ,如果餘數是2 表示從第2BIT開始放資料,再加上間隔的話 ( x%8 間隔)


假設 bData = 0xFE; w = 7; x = 10....表示要在Darray[x] 放入 bData .
但Darray[x]內已有 0x60; 必須保留前面資料 (如圖一)011部份要保留.
間距部份為資料間的距離.後面才放資料..

圖二 第一個陣列為Darray[10] 第二個為Darray[11].第一個放不下就自動往後一個陣列.
由於資料寬度為7..所以0xFE只會放到1111 111最後一個0 則保留先前Darray[11]同位置的Bit.

不知道有前輩能幫忙嗎 ..感謝 ..


附加檔案:45ac429566088_0101.JPG
stellos
中階會員


發表:24
回覆:84
積分:51
註冊:2004-06-08

發送簡訊給我
#2 引用回覆 回覆 發表時間:2007-01-22 18:57:23 IP:61.216.xxx.xxx 未訂閱
說明的還不夠清楚
你是要做資料鎖碼是嗎
pireer
初階會員


發表:73
回覆:80
積分:30
註冊:2004-12-14

發送簡訊給我
#3 引用回覆 回覆 發表時間:2007-01-23 09:17:31 IP:61.220.xxx.xxx 訂閱
我是要做繪圖用...這個function只是填記憶體用..根據傳進去的BYTE.來填資料...
再依照我另一個繪圖function根據記憶體內容畫出..
目前我是用array來存放資料..再根據array資料畫出來..

不過我目前格式又有變動了..
根據上面的敘述.但擺放資料的方式改變.
上述是水平擺放資料.也就是D7~D0.
現在擺放改為垂直.如下圖所示.
垂直共有8格.代表一個BYTE.
圖中共有8*8格 也就是共需要8個BYTE來存放資料

<input type="image" src="http://pireer6705.myweb.hinet.net/0101_2.JPG" /></font>
如果以英文字A來表示..
A的資料為
0x10
0x28
0x44
0x44
0x7c
0x44
0xee
0x00

但這是水平方式..改為垂直後.顯示一樣但原先水平存放陣列要改為垂直.如下
原先方式.
0x10 D7~D0 array[0]
0x28 D15~D8 array[1]
0x44
0x44
0x7c
0x44
0xee
0x00

現在
D0 D8
0 0 01 0000 = 0x10
0 0 10 1000 = 0x28
0 1 00 0100 = 0x44
0 1 00 0100
.
.
D7 D15

所以D0~D7是放陣列0位址..D8~D15放陣列1...依此類推...
請前輩們指點

暗黑破壞神
版主


發表:9
回覆:2301
積分:1627
註冊:2004-10-04

發送簡訊給我
#4 引用回覆 回覆 發表時間:2007-01-23 19:21:17 IP:218.170.xxx.xxx 訂閱
嗯。現在是。說得夠清楚了。只是不知道你要問什麼
系統時間:2024-07-03 20:13:41
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!