Sha256: 7ae981fdbdf2a2e8b98e96efd431944c8bcc786a827b3260da8d916f075f2926

Contents?: true

Size: 608 Bytes

Versions: 7

Compression:

Stored size: 608 Bytes

Contents

## Gray code maps "normal" numbers to a binary code in which adjacent numbers
## only change by one bit. This reduced errors in the whole number when you 
## there is an error decoding a single bit

gc_gen = Digiproc::Strategies::GrayCode


three_bit_gray_code = gc_gen.generate(3)

puts three_bit_gray_code.to_s
puts "In decimal:"
gray_dec = three_bit_gray_code.map{ |gc| gc.to_i(2) }
puts gray_dec.to_s


puts "decode:"
puts "map gray code back to its original number"

orig_dec = gray_dec.map{ |dec| gc_gen.to_dec(dec) }
puts orig_dec.to_s

puts orig_bin = gray_dec.map{ |dec| gc_gen.to_binary(dec)}.to_s

Version data entries

7 entries across 7 versions & 1 rubygems

Version Path
digiproc-0.2.5 examples/encoding/gray_code.rb
digiproc-0.2.4 examples/encoding/gray_code.rb
digiproc-0.2.3 examples/encoding/gray_code.rb
digiproc-0.2.2 examples/encoding/gray_code.rb
digiproc-0.2.1 examples/encoding/gray_code.rb
digiproc-0.2.0 examples/encoding/gray_code.rb
digiproc-0.1.0 examples/encoding/gray_code.rb