- ÇÔ¼ö¸í
gray2num ±×·¹ÀÌ ºÎÈ£¸¦ Á¤¼ö·Î º¯È¯ÇÑ´Ù
- Çü½Ä
unsigned gray2num(unsigned gray);
- Àμö
gray ±×·¹ÀÌ ºÎÈ£
- ÇÔ¼öÄ¡
±×·¹ÀÌ ºÎÈ£¿¡ ´ëÀÀÇÏ´Â Á¤¼ö
- ÁÖÀÇ »çÇ×
- ¿ë·Ê(gray2num-test.c )
- gray2num(0x7);
- ÇÁ·Î±×·¥(gray2num.c )
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;
}
- ¼³¸í
- ±×·¹ÀÌ(Gray) ºÎÈ£´Â, ¿¹¸¦ µé¾î 0~7 »óŸ¦ Â÷·ÊÂ÷·Ê
¡¡¡¡¡¡000, 001, 011, 010, 110, 111, 101, 100
±×¸®°í Ç¥ÇöÇÑ´Ù. Áï, ±Ù󳢸®ÀÇ Â÷ÀÌ´Â 1 ºñÆ® »ÓÀÌ´Ù.
- °ü·Ã ÇÔ¼ö
- Á¤¼ö¸¦ ±×·¹ÀÌ ºÎÈ£·Î º¯È¯ÇÑ´Ù