我有一个十六进制地址,比如 007b183c。我想改变它的位。 我读过一些关于位移和掩码的内容(没有双关语),但我不知道如何获取位格式的地址。我该怎么做?
最佳答案
假设您正在谈论操作地址位,如果您有这样的地址:
char * p = (char *)0x007b183c;
并且您想要进行某种位操作,例如向上舍入到下一个 16 字节对齐地址,然后转换为合适的 int 类型,进行操作,然后转换回来,例如
char *p_aligned - (char *)(((uint_ptr_t)p + 15) & ~15); // p_aligned = 0x007b1840
关于c - 按位操作地址,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27779060/