假设我有一个void*
内存地址,我需要打印位于该内存地址中的位。我怎样才能做到这一点?
在我的处理器中,内存地址和内存值一样是 32 位,int 也是 32 位。所以我想到了这样做:
unsigned int value = *memory_address;
然后通过简单的算术(一些mod
和div
操作)来获取保存在memory_address
.
例如value mod 2
将给出这个值的最后一位等等。但据我所知(我期待不同的位)它不起作用。任何想法为什么?
此外,是否有人知道“这样做”的现成 C 源代码,从内存中读取/写入位?