Simple types / Numbers / Integer

val a = 5 //0101
val b = 6 //0110

//And
val c1 = a.and(b)
//c1 is 4 (0100)

//Or
val c2 = a.or(b)
//c2 is 7 (0111)

//Xor
val c3 = a.xor(b)
//c3 is 3 (0011)

//shift right
val c4 = a.shr(1)
//c4 is 2 (0010)

//shift left
val c5 = b.shl(1)
//c5 is 12 (1100)

//bits inversion
val c6 = b.inv()
//c6 is -7 (-111)

println("c1 is $c1")
println("c2 is $c2")
println("c3 is $c3")
println("c4 is $c4")
println("c5 is $c5")
println("c6 is $c6")