Re: 如何從定義的運算式,取出高低位元分別做存取
|
||||
---|---|---|---|---|
版主
|
用C語言的話,利用union及struct好辦,用法如下:
union RESULT { int WHOLE_WORD; struct { char Lo_BYTE; char Hi_BYTE; }BYTES; }VALUE; 如果 VALUE.WHOLE_WORD == 0x1234; 則 VALUE.BYTES.Lo_BYTE == 0X34; VALUE.BYTES.Hi_BYTE == 0X12; 這是不是您要的呢?不過其中的高低位元次序我不太確定,可以實驗一下。
發表於: 2004/5/27 9:33
|
|||
|
Re: 如何從定義的運算式,取出高低位元分別做存取
|
||||
---|---|---|---|---|
初級會員
|
還是有問題
我是在header files裡加了一個定義檔 xx.inc #define bb d'xx' #define cc d'xx' #define aa bb / cc 在sources files include這個 xx.inc 上面定義的是十進位.所得到的值超過8bits.例十進位400,用二進位須要16bits..所以要把結果分成高低位元去做分存 還是沒辦法分存..標頭檔定義為十進位要怎麼在來源檔轉成二進制...還是不用去轉....苦惱中 ...有人會的拜託幫忙.謝謝
發表於: 2004/5/27 10:27
|
|||
|
Re: 如何從定義的運算式,取出高低位元分別做存取
|
||||
---|---|---|---|---|
版主
|
我好像看懂您先前的問題了:
1、取modulo的運算符號(%)可以用嗎?如果可以,直接可以取得低位元。 2、至於高位元,直接除(/)256,可以嗎?試過嗎? 3、至於什麼十進位,二進制,看得我一頭霧水。也許是我功力不足。但是,那不過是表示數字的方式,要轉嗎?除示您要轉成文字(ASCII)來傳出去顯示,那就要分得很清楚。 希望這次有幫助。
發表於: 2004/5/27 10:41
|
|||
|