예를 들면 512B로 aligned 인지 확인


int check_if_aligned(unsigned long addr)

{

const unsigned long align_size = 512;

return (addr & (align_size - 1)) ? -1 : 0;                //0: aligned, -1: not aligned

}


512보다 작은 크기의 bit가 단 하나라도 & 연산으로 걸리는게 있으면 aligned가 아님

무조건 512의 배수만 &연산이 false뜸


잘 이해가 안 가면 계산기 놓고 해보면 아하~!

Posted by 쵸코케키

블로그 이미지
chocokeki
쵸코케키

공지사항

Yesterday
Today
Total

달력

 « |  » 2024.5
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31

최근에 올라온 글

최근에 달린 댓글

글 보관함