최근 코딩테스트를 조금씩 하고 있는데 다른 사람이 푼 해결방안 중에 신기한 풀이법이 있어 공부했다.
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으로 채운다.
참고자료
'TIL' 카테고리의 다른 글
프로젝트에 필요한 무료 favicon과 로고를 만들 수 있는 사이트 (0) | 2023.01.09 |
---|---|
정수를 구하는 함수 (0) | 2022.11.29 |
[TIL] 브라우저 타임존 테스트 (0) | 2022.08.21 |
[TIL] 클린 코딩 팁 3가지 (0) | 2022.07.03 |