Kotlin - 시프트 연산자 종류, 비트연산의 특징
CODEDRAGON ㆍDevelopment/Kotlin
반응형
Kotlin - 시프트 연산자 종류
Kotlin | Java | 의미 |
shr .shr(bits) |
>> | · Right shift 연산 · 왼쪽 시프트 연산자 · bit값을 오른쪽으로 이동. · 부호를 유지하면서 지정한 수만큼 비트를 전부 오른쪽으로 이동시킵니다. · 이동으로 인한 빈자리는 부호값으로 채움(음수인 경우 1, 양수인 경우 0) n shr 2; |
shl .shl(bits) |
<< | · Left shift 연산 · 오른쪽 시프트 연산자 · bit값을 왼쪽으로 이동. · 지정한 수만큼 비트를 전부 왼쪽으로 이동시킵니다. · 이동으로 인한 빈자리는 0으로 채움. n shl 2; |
ushr .ushr(bits) |
>>> | · bit값을 오른쪽으로 이동 · 지정한 수만큼 비트를 전부 오른쪽으로 이동시키며, 새로운 비트는 전부 0이 됩니다. · 이동으로 인한 빈자리는 0으로 채웁니다.(부호에 관계없이 왼쪽에 항상 0이 채워집니다) n ushr 2; |
https://kotlinlang.org/docs/reference/basic-types.html#operations
연산 수식 | 비트 값 | 출력 값 |
5 | 0 0 0 0 0 1 0 1 | 5 |
5 shr 2 | 0 0 0 0 0 0 0 1 | 1 |
5 shl 2 | 0 0 0 1 0 1 0 0 | 20 |
5 ushr 2 | 0 0 0 0 0 0 0 1 | 1 |
연산 수식 | 비트 값 | 출력 값 |
-5 | 1 1 1 1 1 0 1 1 | 251 |
-5 shr 2 | 1 1 1 1 1 1 1 0 | 254 |
-5 shl 2 | 1 1 1 0 1 1 0 0 | 354 |
-5 ushr 2 | 0 0 1 1 1 1 1 0 | 62 |
비트연산의 특징
· 왼쪽으로의 비트 열 이동(<<)은 2의 배수의 곱과 같습니다.
· 오른쪽으로의 비트 열 이동(>>)은 2의 배수의 나눗셈의 결과와 같습니다.
'Development > Kotlin' 카테고리의 다른 글
Error - Failed to create the part's controls 해결방법 (0) | 2018.10.24 |
---|---|
배열 선언 - 생성자로 배열 생성, 표준 라이브러리 함수로 배열 생성, 기본 타입 배열 생성, 컬렉션을 배열로 변환 (0) | 2018.10.23 |
Kotlin - 객체 생성, 객체 생성 및 참조구조, 참조변수의 참조 (0) | 2018.10.22 |
Kotlin - 진법 변환함수, toInt(), toString() (0) | 2018.10.21 |
Kotlin - Operator Precedence (연산자 우선순위) (0) | 2018.10.20 |