假设我有一个void*
类型的内存地址,我需要打印出位于该内存地址中的位。我该如何做呢?
在我的处理器中,内存地址和内存值都是32位,int类型也是32位。因此,我考虑了以下方法:
unsigned int value = *memory_address;
然后通过简单的算术运算(一些mod
和div
操作)来获取保存在memory_address
中的值的位。例如,value mod 2
将给出该值的最后一位,依此类推。但从我所看到的(我原本期望不同的位),它并不起作用。有什么想法吗?
此外,是否有人知道现成的C源代码可以从内存中“读取/写入”位?