Data update
This commit is contained in:
parent
81fd053722
commit
52a6ef48dd
10248 changed files with 63654 additions and 6775 deletions
24
Task/Gray-code/Kotlin/gray-code.kts
Normal file
24
Task/Gray-code/Kotlin/gray-code.kts
Normal file
|
|
@ -0,0 +1,24 @@
|
|||
// version 1.0.6
|
||||
|
||||
object Gray {
|
||||
fun encode(n: Int) = n xor (n shr 1)
|
||||
|
||||
fun decode(n: Int): Int {
|
||||
var p = n
|
||||
var nn = n
|
||||
while (nn != 0) {
|
||||
nn = nn shr 1
|
||||
p = p xor nn
|
||||
}
|
||||
return p
|
||||
}
|
||||
}
|
||||
|
||||
fun main(args: Array<String>) {
|
||||
println("Number\tBinary\tGray\tDecoded")
|
||||
for (i in 0..31) {
|
||||
print("$i\t${Integer.toBinaryString(i)}\t")
|
||||
val g = Gray.encode(i)
|
||||
println("${Integer.toBinaryString(g)}\t${Gray.decode(g)}")
|
||||
}
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue