[問題] pointer alignment
最近在看driver相關的書籍
看到alignment這邊 一直有個問題想不通
想請教一下各位
書裡面提到一般在將pointer做alignment的時候
是用下面的公式
[pointer + (page_size - 1)] & ~(page_size - 1)
後面的& 的動作可以理解 就是要把後面的位數清成0
變成page size的倍數
可是前面的加(page_size - 1)的動作一直想不懂?
直接將pointer & ~(page_size - 1)不是可以達到一樣的效果嗎?
想了很久的說..^^"
Thanks in advance
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 114.32.231.73
※ 編輯: kkdlin 來自: 114.32.231.73 (04/03 22:13)
推
04/03 22:26, , 1F
04/03 22:26, 1F
→
04/03 22:27, , 2F
04/03 22:27, 2F
→
04/03 22:28, , 3F
04/03 22:28, 3F
→
04/03 22:40, , 4F
04/03 22:40, 4F
→
04/03 22:41, , 5F
04/03 22:41, 5F
推
04/03 22:55, , 6F
04/03 22:55, 6F
→
04/03 22:59, , 7F
04/03 22:59, 7F
討論串 (同標題文章)
以下文章回應了本文:
完整討論串 (本文為第 1 之 2 篇):
C_and_CPP 近期熱門文章
PTT數位生活區 即時熱門文章