0보다 큰 양의 정수 x에 대하여 log2(x)는 밑을 2로하는 로그x의 정수부분을 리턴해야함. 

ex) log2(16) == 4, log2(1) == 0, log2(33) == 5



int log2(int x)

{

int ret =0;

//code

return ret;

}


//code에 들어갈 코드는?


규칙

1.사용가능한 연산자들:  ! ~ & ^ | + << >> (&&, || , -, ? 같은건 사용불가능)

2. 1에서 제시한 연산자들의 사용개수 제한: 90

3. if, for, do,while, switch 같은건사용불가능.

4. 다른 함수call 불가능.

5. int이외의 자료형 사용 불가능.

6. 정수 상수는 1이상 0xFF이하만 사용가능. ( 0x ABCD, 0xFFFFFFFF같은건 사용불가능)

7, 로컬변수만 사용가능.


가정

1. int자료형은 4바이트.

2. <<는 arithmetic shift임.