시프트연산자 편집하기
최신판 | 당신의 편집 | ||
27번째 줄: | 27번째 줄: | ||
<ref>〈[https://codedragon.tistory.com/584 시프트 연산자 특징]〉, 《시프트 연산자-시프트 연산자 종류, 비트연산의 특징》</ref> | <ref>〈[https://codedragon.tistory.com/584 시프트 연산자 특징]〉, 《시프트 연산자-시프트 연산자 종류, 비트연산의 특징》</ref> | ||
예시를 들자면 '10 << 1'라는 연산을 보면 10진수 정수인 10을 2진수로 바꾸어 왼쪽으로 2비트 움직이라는 말이다. 10진수를 2진수로 변환하면 '0000 1010'이다. | 예시를 들자면 '10 << 1'라는 연산을 보면 10진수 정수인 10을 2진수로 바꾸어 왼쪽으로 2비트 움직이라는 말이다. 10진수를 2진수로 변환하면 '0000 1010'이다. | ||
− | 여기서 왼쪽으로 1비트 움직이면 '0001 0100'이되며, 다시 10진수로 변환하면 20이 되는 것을 알 수 있다. 여기에서 시프트 연산자의 계산 공식을 알 수 있게 된다. 10에서 20이 되는 걸 살펴보면 '10 * 2'라는 것을 알 수 있다. 여기서 | + | 여기서 왼쪽으로 1비트 움직이면 '0001 0100'이되며, 다시 10진수로 변환하면 20이 되는 것을 알 수 있다. 여기에서 시프트 연산자의 계산 공식을 알 수 있게 된다. 10에서 20이 되는 걸 살펴보면 '10 * 2'라는 것을 알 수 있다. 여기서 4는 2^1라는 것을 유추할 수 있다. 즉 'x << n'은 'x * 2^n'이라는 공식이 성립하는 것을 알 수 있다.<ref>〈[https://colossus-java-practice.tistory.com/19 시프트 연산자 계산공식]〉, 2019-05-20《비트 연산자-시프트 연산자》</ref> |
x << n = x * 2^n | x << n = x * 2^n |