何となくグレイコードを出力したくなって。
0.upto(31) do |k|
printf "%05b\n", k ^ (k >> 1)
end
実行結果です。
00000
00001
00011
00010
00110
00111
00101
00100
01100
01101
01111
01110
01010
01011
01001
01000
11000
11001
11011
11010
11110
11111
11101
11100
10100
10101
10111
10110
10010
10011
10001
10000
参照: グレイコード