나눗셈 썸네일형 리스트형 shift 연산자(>>)를 이용한 곱셈과 나눗셈 linux kernel code 를 분석하다 보면 가끔 복잡한 shift 연산자 들이 나옵니다. shift 연산자들은 연산의 속도가 빨라서 고수 개발자들에게 사랑받곤 하지만 분석하는 입장에서는 그 의미가 모호해서 답답할 때가 많습니다. 그중 자주 사용되는 shift 연산자를 이용한 나눗셈을 알아 봅시다. totalpages = mtd->size >> mtd->writesize_shift; 이 구문의 이미는 무었일까요? 보통 mtd 는 수많은 page 들로 이루어져 있습니다. page 는 write단위이기도 해서 writesize 와 동일합니다. writesize = 4096 = (2진수)1000000000000 이렇게 됩니다. shift 연산자는 1 을 얼마나 밀었냐 인데요. 위에서 0 의 갯수를 세면 .. 더보기 이전 1 다음