Initial data commit
This commit is contained in:
parent
72d218235f
commit
f23f22d71c
199087 changed files with 3378941 additions and 0 deletions
18
Task/Gray-code/Rust/gray-code.rust
Normal file
18
Task/Gray-code/Rust/gray-code.rust
Normal file
|
|
@ -0,0 +1,18 @@
|
|||
fn gray_encode(integer: u64) -> u64 {
|
||||
(integer >> 1) ^ integer
|
||||
}
|
||||
|
||||
fn gray_decode(integer: u64) -> u64 {
|
||||
match integer {
|
||||
0 => 0,
|
||||
_ => integer ^ gray_decode(integer >> 1)
|
||||
}
|
||||
}
|
||||
|
||||
fn main() {
|
||||
for i in 0..32 {
|
||||
println!("{:2} {:0>5b} {:0>5b} {:2}", i, i, gray_encode(i),
|
||||
gray_decode(i));
|
||||
}
|
||||
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue