hint
2진법 표현에 대한 여러 표현 개념은 다 익혔는데 코딩 시작에 대한 감이 안 잡히네요..
시작을 위한 약간의 hint 부탁드립니다 ..
n>>1는 n/2와 같아요. 왜 그런지 한번 천천히 생각해보세요.
&1은 %2 처럼 쓸 수 있어요. 이것도 천천히 생각해보면 왜 그런지 이해할 수 있을거에요.
비트연산이 처음이라 어렵게 느껴진다면 /2와 %2를 활용해서 풀어보고 다시 비트연산으로 바꿔서 풀어보세요.
비트연산을 쓰는 이유는 다른 함수들보다 압도적으로 빠르기 때문입니다.
TMI지만 알파벳 대문자 아스키코드가 65~90인데, 소문자를 91이 아니라 굳이 97부터 만든 이유도 &32 |32 비트연산으로 대소문자 변환 쉽게 하기 위해서에요
혹시나 이진법 구하는 방법 그 자체를 질문하신거라면
for( int N=1000; N > 0; N/=2)
System.out.print( N%2 );
1000을 이진법으로 출력하는 코드입니다.
답을 알려드릴 수는 없으니 일부러 일의자리부터 거꾸로 나오게 만들었습니다만 잘하고 계시니 이 코드 만으로도 감은 잡히리라 믿습니다.