7 lines
297 B
Scala
7 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)))
|