当前位置: 代码迷 >> C语言 >> [求助]进制转换问题
  详细解决方案

[求助]进制转换问题

热度:200   发布时间:2007-08-26 16:44:19.0
[求助]进制转换问题

char *ReadData(FILE *fp, char *buf)
{
return fgets(buf, LINE, fp);//读取一行到buf
}

其中buf=(char*)malloc(LINE*sizeof(char));
假如某一行为一个32位的二进制数读进了buf,将其转换成16进制数,怎么办

[此贴子已经被作者于2007-8-26 16:48:24编辑过]

搜索更多相关的解决方案: 进制  

----------------解决方案--------------------------------------------------------

#include <stdio.h>
#include <conio.h>
#include <ctype.h>
typedef struct node
{
int n;
struct node *next;
}r,*pr;
char v[]="0123456789ABCDEF";
void main()
{
pr p1=NULL,p2;char vv[10];
int i1,i2,s,j=0;
char c,clrscr();
printf("please input the number:");
while((c=getchar())!='\n')
if(isdigit(c))
{
p2=(pr)malloc(sizeof(r));
p2->n=c-'0';
p2->next=p1;
p1=p2;
}
while(p1)
{
s=0,i1=0,i2=1;
while(i1<4&&p1)
{
s+=i2*(p1->n);
i1++;p1=p1->next;
i2*=2;
}
vv[j++]=v[s];
}
while(j>=0)
{
printf("%c",vv[j--]);
}
getch();
}

请看一下转换程序,得出结果有误


----------------解决方案--------------------------------------------------------

有函数可用吧
刚才当我没说

[此贴子已经被作者于2007-8-26 17:46:52编辑过]


----------------解决方案--------------------------------------------------------
http://hi.baidu.com/ahpo/blog/item/0400fb2a3d2bcc9b033bf629
这是我搜的,希望对你有用
哎,我会好好学习的
这程序原来那个数组
在你那需要读取
,看看可能对你有用

[此贴子已经被作者于2007-8-26 18:01:44编辑过]


----------------解决方案--------------------------------------------------------
  相关解决方案