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으로 채운다.