Initial data commit
This commit is contained in:
parent
72d218235f
commit
f23f22d71c
199087 changed files with 3378941 additions and 0 deletions
19
Task/Gray-code/Scala/gray-code-2.scala
Normal file
19
Task/Gray-code/Scala/gray-code-2.scala
Normal file
|
|
@ -0,0 +1,19 @@
|
|||
def encode(n: Long) = n ^ (n >>> 1)
|
||||
|
||||
def decode(n: Long) = {
|
||||
var g = 0L
|
||||
var bits = n
|
||||
while (bits > 0) {
|
||||
g ^= bits
|
||||
bits >>= 1
|
||||
}
|
||||
g
|
||||
}
|
||||
|
||||
def toBin(n: Long) = ("0000" + n.toBinaryString) takeRight 5
|
||||
|
||||
println("decimal binary gray decoded")
|
||||
for (i <- 0 until 32) {
|
||||
val g = encode(i)
|
||||
println("%7d %6s %5s %7s".format(i, toBin(i), toBin(g), decode(g)))
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue