哪位帮忙编一下
哪位帮忙编一下
 2006-12-26 10:14
	    2006-12-26 10:14
   2006-12-26 10:23
	    2006-12-26 10:23
   2006-12-26 10:46
	    2006-12-26 10:46
   2006-12-26 11:36
	    2006-12-26 11:36
  直接转换,一个十六进制位对应4个2进制位.

 2006-12-26 14:11
	    2006-12-26 14:11
  没有细想,直接用了一个比较笨的方法,另外我不知道前面的零要不要去掉,前两位0x是代表是十六进制数吧,我记得好像是。
#include <stdio.h>
#define   N   1000
int is_change(char ch);
int main(void)
{
    char str[N];
    int i;
    while(gets(str) != NULL)
    {
        for(i = 2;str[i] != '\0';i ++)
        {
            is_change(str[i]);
        }
    }
    return 0;
}
int is_change(char ch)
{
    switch(ch)
    {
        case '1':
        printf("0001");
        break;
        case '2':
        printf("0010");
        break;
        case '3':
        printf("0011");
        break;
        case '4':
        printf("0100");
        break;
        case '5':
        printf("0101");
        break;
        case '6':
        printf("0110");
        break;
        case '7':
        printf("0111");
        break;
        case '8':
        printf("1000");
        break;
        case '9':
        printf("1001");
        break;
        case 'a':
        case 'A':
        printf("1010");
        break;
        case 'b':
        case 'B':
        printf("1011");
        break;
        case 'c':
        case 'C':
        printf("1100");
        break;
        case 'd':
        case 'D':
        printf("1101");
        break;
        case 'e':
        case 'E':
        printf("1110");
        break;
        case 'f':
        case 'F':
        printf("1111");
        break;
    }
    return 0;
}

 2006-12-26 14:43
	    2006-12-26 14:43
  int is_change(char ch)
{
    switch(ch)
    {
        case '1':
        printf("0001");
        break;
        case '2':
        printf("0010");
        break;
        case '3':
        printf("0011");
        break;
        case '4':
        printf("0100");
        break;
        case '5':
        printf("0101");
        break;
        case '6':
        printf("0110");
        break;
        case '7':
        printf("0111");
        break;
        case '8':
        printf("1000");
        break;
        case '9':
        printf("1001");
        break;
        case 'a':
        case 'A':
        printf("1010");
        break;
        case 'b':
        case 'B':
        printf("1011");
        break;
        case 'c':
        case 'C':
        printf("1100");
        break;
        case 'd':
        case 'D':
        printf("1101");
        break;
        case 'e':
        case 'E':
        printf("1110");
        break;
        case 'f':
        case 'F':
        printf("1111");
        break;
    }
    return 0;
}

for(i=strlen(str)-1;i>=0;i--)
{
    if(str[i]>='a')
    {
         sum=str[i]-'a'+10;
    }
    else
    {
         if(str[i]>='A')  
             sum=str[i]-'A'+10;
         else
             sum=str[i]-'0';
    }
    while(sum)
    {
         a[k++]=sum%2;
         sum/=2;
    }
}

 2006-12-26 15:13
	    2006-12-26 15:13
   2006-12-26 16:04
	    2006-12-26 16:04