// output of ./demo/bits/gray-demo.cc: // Description: //% Binary Gray code. arg 1: 5 == n [Number of bits] default=5 k: bin(k) g(k) g^-1(k) g(2*k) g(2*k+1) diff(g(k),g(k-1)) 0: ....... ....... ....... ....... ......1 ....... . { } 1: ......1 ......1 ......1 .....11 .....1. ......+ 1 { 0 } 2: .....1. .....11 .....11 ....11. ....111 .....+1 . { 0, 1 } 3: .....11 .....1. .....1. ....1.1 ....1.. .....1- 1 { 1 } 4: ....1.. ....11. ....111 ...11.. ...11.1 ....+1. . { 1, 2 } 5: ....1.1 ....111 ....11. ...1111 ...111. ....11+ 1 { 0, 1, 2 } 6: ....11. ....1.1 ....1.. ...1.1. ...1.11 ....1-1 . { 0, 2 } 7: ....111 ....1.. ....1.1 ...1..1 ...1... ....1.- 1 { 2 } 8: ...1... ...11.. ...1111 ..11... ..11..1 ...+1.. . { 2, 3 } 9: ...1..1 ...11.1 ...111. ..11.11 ..11.1. ...11.+ 1 { 0, 2, 3 } 10: ...1.1. ...1111 ...11.. ..1111. ..11111 ...11+1 . { 0, 1, 2, 3 } 11: ...1.11 ...111. ...11.1 ..111.1 ..111.. ...111- 1 { 1, 2, 3 } 12: ...11.. ...1.1. ...1... ..1.1.. ..1.1.1 ...1-1. . { 1, 3 } 13: ...11.1 ...1.11 ...1..1 ..1.111 ..1.11. ...1.1+ 1 { 0, 1, 3 } 14: ...111. ...1..1 ...1.11 ..1..1. ..1..11 ...1.-1 . { 0, 3 } 15: ...1111 ...1... ...1.1. ..1...1 ..1.... ...1..- 1 { 3 } 16: ..1.... ..11... ..11111 .11.... .11...1 ..+1... . { 3, 4 } 17: ..1...1 ..11..1 ..1111. .11..11 .11..1. ..11..+ 1 { 0, 3, 4 } 18: ..1..1. ..11.11 ..111.. .11.11. .11.111 ..11.+1 . { 0, 1, 3, 4 } 19: ..1..11 ..11.1. ..111.1 .11.1.1 .11.1.. ..11.1- 1 { 1, 3, 4 } 20: ..1.1.. ..1111. ..11... .1111.. .1111.1 ..11+1. . { 1, 2, 3, 4 } 21: ..1.1.1 ..11111 ..11..1 .111111 .11111. ..1111+ 1 { 0, 1, 2, 3, 4 } 22: ..1.11. ..111.1 ..11.11 .111.1. .111.11 ..111-1 . { 0, 2, 3, 4 } 23: ..1.111 ..111.. ..11.1. .111..1 .111... ..111.- 1 { 2, 3, 4 } 24: ..11... ..1.1.. ..1.... .1.1... .1.1..1 ..1-1.. . { 2, 4 } 25: ..11..1 ..1.1.1 ..1...1 .1.1.11 .1.1.1. ..1.1.+ 1 { 0, 2, 4 } 26: ..11.1. ..1.111 ..1..11 .1.111. .1.1111 ..1.1+1 . { 0, 1, 2, 4 } 27: ..11.11 ..1.11. ..1..1. .1.11.1 .1.11.. ..1.11- 1 { 1, 2, 4 } 28: ..111.. ..1..1. ..1.111 .1..1.. .1..1.1 ..1.-1. . { 1, 4 } 29: ..111.1 ..1..11 ..1.11. .1..111 .1..11. ..1..1+ 1 { 0, 1, 4 } 30: ..1111. ..1...1 ..1.1.. .1...1. .1...11 ..1..-1 . { 0, 4 } 31: ..11111 ..1.... ..1.1.1 .1....1 .1..... ..1...- 1 { 4 }