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: 如何從定義的運算式,取出高低位元分別做存取
|
||||
---|---|---|---|---|
版主
|
用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
|
|||
|
如何從定義的運算式,取出高低位元分別做存取
|
||||
---|---|---|---|---|
初級會員
|
例如#define pp d'2000'
#define bb d'5' value = pp/bb 要把結果以二進位16bit表示, valueH = 高位元8BIT valueL = 低位元8bit 例值400 轉二進制為110010000 valueH=00000001 valueL=10010000 有人聽的懂我在說什麼,可以幫幫我嗎?謝謝感激不盡
發表於: 2004/5/26 18:15
|
|||
|