2015-04-06 84 views
-2

我有一個具有16位int地址的輸入文件。對於列表中的每個條目,我需要在8位中讀取「頁碼」,而8位爲「偏移量」。任何想法我怎麼能做到這一點?我沒有發現任何支持在c中按位操作。從文本文件中讀取數字字節

+0

可以使用'fread'讀取二進制數據。 – 2015-04-06 00:55:46

+0

你使用哪種語言? 'C'還是'C++'? – Galik 2015-04-06 00:56:38

+0

***我沒有發現任何支持在c ***中進行按位操作有移位,和,或者異或... – drescherjm 2015-04-06 00:56:45

回答

2

讀取您的文本文件轉換成16位的元件的陣列,然後分離所述高和低的部分是這樣的:

uint16_t num; 
uint8_t low = num & 0xFF; 
uint8_t high = (num >> 8) & 0xFF; 
+0

如何讀取一串數字中的字節?我不確定如何將字符串解析爲數字字節。 (我不是指個別人物) – 2015-04-06 01:02:17

+0

@JohnDodson對不起,我不知何故錯過了「文本文件」部分。 – dasblinkenlight 2015-04-06 01:10:52

+0

謝謝!這應該工作 – 2015-04-06 01:34:15