TIL

tilde연산자 비트 연산자

Alraffe 2022. 11. 29. 19:25

최근 코딩테스트를 조금씩 하고 있는데 다른 사람이 푼 해결방안 중에 신기한 풀이법이 있어 공부했다.


TL;DR

tilde연산자 : ~N == -(N+1)

비트연산자 

  >> n : 빈 자리는 0으로 채우면서 n만큼 비트를 오른쪽으로 이동 , 음수의 경우 빈자리를 1로 채운다.

  >>>n : 빈 자리는 0으로 채우면서 n만큼 비트를 오른쪽으로 이동 , 음수의 경우에도 빈자리는 0으로 채운다.


Tilde 연산자(~)

비트 NOT 연산자. 비트를 원래 갖고 있던 비트의 반대 부호로 바꾸는 연산자를 말한다.

Double tilde 연산자(~~)

tilde연산자를 두번 적용한 것으로서 JS에서 소수점 아래를 제거한 정수를 구하고자 할 때 자주 사용한다. 정확하게 설명하자면 양수의 경우에는 양수의 경우에는 Math.floor(), 음수의 경우에는 Math.ceil()의 기능을 한다고 말할 수 있다. 간단하게 작성할 수 있다는 이점 반면에 다른 사람들과 협업을 할 경우 가독성이 떨어지기 때문에 지양하는 코드라고 한다.

>> 비트 시프트 연산자

오른쪽으로 비트를 이동시키는 연산자. 넘치는 비트는 버리고, 왼쪽은 제일 큰 비트의 값으로 채운다.

>>>  부호 없는 비트 시프트 연산자

오른쪽으로 비트를 이동시키는 연산자.  넘치는 비트는 버리고 왼쪽은 0으로 채운다.


참고자료