比方說,我給了一個void*
內存地址,我需要打印位於此內存地址中的位。我怎樣才能做到這一點?在內存中讀取/寫入位
在我的處理器中,內存地址是32位,內存值也是32位,int也是32位。 所以我想這樣做的:
unsigned int value = *memory_address;
,然後通過簡單的算術運算(一些mod
和div
操作)來獲取保存在memory_address
值的位。
例如value mod 2
將給出該值的最後一位,依此類推。但從我可以告訴(我期待不同的位)它不起作用。任何想法爲什麼?
此外,是否有人知道現成的C源代碼「這樣做」,從內存讀取/寫入位?
請詳細說明爲什麼您認爲這不起作用。 – 2011-03-06 08:33:26