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")