Á¤¼ö¸¦ 2 Áø¼ö¿­¿¡ º¯È¯ÇÑ´Ù


ÇÔ¼ö¸í
int2binsz  Á¤¼ö¸¦ 2 Áø¼ö¿­¿¡ º¯È¯ÇÑ´Ù
Çü½Ä
void int2binsz(char *str, int num);
Àμö
str  (Ãâ·Â) 2 Áø¼ö ASCIZ ij¸¯ÅÍ ¶óÀÎ
num  (ÀÔ·Â) º¯È¯ÇÏ°í ½ÍÀº Á¤¼ö
ÇÔ¼öÄ¡
¾øÀ½
ÁÖÀÇ »çÇ×

¿ë·Ê(int2binsz-test.c )
char str[50];
int2binsz(str, 12345)

ÇÁ·Î±×·¥(int2binsz.c )
void int2binsz(char *str, int num)
{
    int i;
    static void rint2binsz();

    i = 0;
    if (num < 0) {
        num = -num;
        *str = '-';
        i++;
    }
    rint2binsz(str, num, &i);
    *(str + i) = '\0';
}

static void rint2binsz(char *str, int num, int *off)
{
    int k;

    if ((k = num >> 1) ! = 0) rint2binsz(str, k, off);
    *(str + *off) = (num & 1) + '0';
    (*off)++;
}
¼³¸í
Àç±Í¹ýÀ» »ç¿ë. ¼±ÇàÀÇ ¼ýÀÚ¿¡ ´ëÇؼ­´Â ÀÚ±â ÀÚ½ÅÀ» ¼ÒȯÀ̶ó°í ´ëÀÀÇØ, ÃÖÁ¾ÀÚ¸®¼ö¸¸À» º¯È¯ÇØ Ã³¸®ÇÑ´Ù.

°ü·Ã ÇÔ¼ö
Á¤¼ö¸¦ 10 Áø¼ö¿­¿¡ º¯È¯ÇÏ´Â, Á¤¼ö¸¦ 16 Áø¼ö¿­¿¡ º¯È¯ÇÏ´Â, 2 Áø¼ö¿­À» Á¤¼ö¿¡ º¯È¯ÇÏ´Â, 10 Áø¼ö¿­À» Á¤¼ö¿¡ º¯È¯ÇÏ´Â, 16 Áø¼ö¿­À» Á¤¼ö¿¡ º¯È¯ÇÑ´Ù