shift 연산자

pixgram·2023년 1월 20일
0
nBaseChip_x = Map_x / CHIPSIZE;
nBaseChip_y = Mpa_y / CHIPSIZE;

시프트 연산자는 비트단위에서 연산이 이루어 진다.
왼쪽 시프트 연산자는 곱하기를 한 효과가 있고, 오른쪽 시프트 연산자는 나누기를 한 효과가 있다.

위 식에서 CHIPSIZE를 64라고 하면..

nBaseChip_x = Map_x >> 6; // 2^6 = 64
nBaseChip_y = Mpa_y >> 6; // 2^6 = 64

이렇게 하는 이유는 십진수를 이진수로 변환해서 계산하고 다시 십진수르 표현하는 과정이 생략되어 나누기 연산자보다 시프트 연산자가 속도가 훨씬 빠르기 때문이다.

profile
Interactive Front-end Developer and WebGL Artist

0개의 댓글