안드로이드 개발 질문/답변
(글 수 45,052)
안녕하세요 선후 입니다.^^
아래의 코드에서 끝에 <<가 있는데 이건 어떤 연산을 해주는건가요?
저기 파라미터는 int가 들어가는 영역 입니다.^^
감사합니다.^^

2010.11.09 14:07:25
쉬프트 연산이라고 합니다.
비트연산인데요... 만약 length가 2라고 하면 (int로 보겠습니다.)
00000000 00000000 00000000 00000010
2진수로 이런형태가 될건데요
<< 2하면 왼쪽으로 2번 쉬프트하니까...
00000000 00000000 00000000 00001000
이런형태가 됩니다. 4를 곱하는것과 비슷한 효과가 되는거죠.
아마도 int크기만큼 버퍼를 잡기 위해서 배열크기에 *4를 해주는 대신 <<2 한듯합니다.
제가 알기로 C에서 쉬프트연산하는게 그냥 곱셈하는것보다 빠르다는 걸로 아는데
그래서 저렇게들 쓰시는 분들이 있습니다.
비트연산인데요... 만약 length가 2라고 하면 (int로 보겠습니다.)
00000000 00000000 00000000 00000010
2진수로 이런형태가 될건데요
<< 2하면 왼쪽으로 2번 쉬프트하니까...
00000000 00000000 00000000 00001000
이런형태가 됩니다. 4를 곱하는것과 비슷한 효과가 되는거죠.
아마도 int크기만큼 버퍼를 잡기 위해서 배열크기에 *4를 해주는 대신 <<2 한듯합니다.
제가 알기로 C에서 쉬프트연산하는게 그냥 곱셈하는것보다 빠르다는 걸로 아는데
그래서 저렇게들 쓰시는 분들이 있습니다.
2010.11.09 14:36:12
비트 쉬프트 연산자 입니다.
비트 연산을 통한 곱셈효과를 주고, 간혹 암호화 처리를 할 때 사용하기도 합니다.
안드로이드와는 무관한 프로그램 기초 지식이니, 프로그램 서적을 찾아서 익혀두시면 도움이 될꺼에요
비트 연산을 통한 곱셈효과를 주고, 간혹 암호화 처리를 할 때 사용하기도 합니다.
안드로이드와는 무관한 프로그램 기초 지식이니, 프로그램 서적을 찾아서 익혀두시면 도움이 될꺼에요



