gray2num グレイ符号を整数に変換する
unsigned gray2num(unsigned gray);
gray グレイ符号
グレイ符号に対応する整数
unsigned gray2num(unsigned gray) { unsigned mask; int flag; flag = 0; for (mask = 1 << (sizeof(unsigned) - 1); mask != 0; mask >>= 1) { if (flag) { if (gray & mask) flag = 0; gray ^= mask; } else if (gray & mask) flag = 1; } return gray; }