标签: c linux bit-manipulation bitwise-operators mmap
我正在查看mmap函数的手册并遇到了这一行:
pa_offset = offset & ~(sysconf(_SC_PAGE_SIZE) - 1); /* offset for mmap() must be page aligned */
我想我理解这条线的作用。它获取页面大小并确保pa_offset为零或页面大小的倍数(此处为4096)。但我不明白怎么做。我知道按位运算符的作用,但有可能解释这是如何实现的吗?