출처: 초보자를 위한 코틀린(Kotlin) 200제 / 엄민석 지음 | 정보문화사 | 2018년 05월 20일 출간

package com.practice007

// 비트 연산자
fun main(args: Array<String>): Unit
{
	println(15 and 7)	// 15와 7을 비트단위로 and 연산 , 15&7, 출력 7
	println(5 or 2)		// 5와 2를 비트단위 or 연산, 5|2, 출력 7
	println(15 xor 5)	// 15와 5를 비트단위 xor 연산, 15^5 ,출력 10
	println(32767.inv())	// 32767를 비트단위로 반전, 출력 -32768
	println(1 shl 3)	// 1을 왼쪽으로 3칸 시프트, 1<<3 , 출력 8
	println(8 shr 1)	// 8을 오른쪽으로 1칸 시프트, 8>>1, 출력 1
	println(-17 ushr 2)	// 부호 유지하고, -17을 오른쪽 2칸 시프트, -17 >>>2 , 출력  1073741819
}

## 코틀린의 비트연산자는 기존의 익숙한 c/c++ 이나 java와 다르게 문자로 되있다.

ddshl - signed shift left (equivalent of << operator) 
shr - signed shift right (equivalent of >> operator) 
ushr- unsigned shift right (equivalent of >>> operator) 
and - bitwise and (equivalent of & operator) 
or - bitwise or (equivalent of | operator) 
xor - bitwise xor (equivalent of ^ operator) 
inv - bitwise complement (equivalent of ~ operator)

## 추가 샘플 코드

1 shl 2   // Equivalent to 1.shl(2), 출력 = 4
16 shr 2  // 출력 = 4
2 and 4   // 출력 = 0
2 or 3    // 출력 = 3
4 xor 5   // 출력 = 1
4.inv()   // 출력 = -5

 

+ Recent posts