기타/What I Learned

[TIL] Kotlin - 비트연산자

가죽방패 2022. 1. 18. 14:52

※ 비트연산자

- 비트연산은 임베디드 시스템에서 많이 사용되는데 흔히 우리가 이해하기 쉽고 사용하기 쉬운 10진법은 기계가 처리하는 단위인 0과 1로 이루어진 2진법 체계가 아니다. 두개의 진법은 각자에게 유리하고 이해하기 용이한 체계이기 때문에

적절한 진법인 16진법을 주로 사용한다. 16진법의 한자리는 2진법의 4자리 단위와 알맞기 때문에 이를 이해하고 사용하면 매우 좋을 것이다.

 

비트와 비트 연산 이해하기

- 1010(2) = 2^1+2^3 = 10(10) -> 2진법을 10진법으로 변경한 예시

- 가장 좌측에 있는 비트는 양(+)과 음(-)을 판단하는데 사용함

 

○ 비트 연산을 위한 비트 메서드

표현식 설명
x.shl(bits) x를 표현하는 비트를 bits만큼 좌측으로 이동(부호 있음)
x.shr(bits) x를 표현하는 비트를 bits만큼 우측으로 이동(부호 있음)
x.ushr(bits) x를 표현하는 비트를 bits만큼 우측으로 이동(부호 없음)
x.and(bits) x를 표현하는 비트와 bits를 표현하는 비트로 논리곱 연산
x.or(bits) x를 표현하는 비트와 bits를 표현하는 비트로 논리합 연산
x.xor(bits) x를 표현하는 비트와 bits를 표현하는 비트의 배타적 연산
x.inv() x를 표현하는 비트를 모두 뒤집음