RosettaCodeData/Task/Gray-code/Scala/gray-code-1.scala
Ingy döt Net db842d013d A-M baby
2013-04-10 21:29:02 -07:00

6 lines
297 B
Scala

def encode(n: Int) = (n ^ (n >>> 1)).toBinaryString
def decode(s: String) = Integer.parseInt( s.scanLeft(0)(_ ^ _.asDigit).tail.mkString , 2)
println("decimal binary gray decoded")
for (i <- 0 to 31; g = encode(i))
println("%7d %6s %5s %7s".format(i, i.toBinaryString, g, decode(g)))