当前位置: 代码迷 >> C语言 >> 求助!!怎么将二进制转化为十六进制
  详细解决方案

求助!!怎么将二进制转化为十六进制

热度:143   发布时间:2007-04-15 09:35:11.0
求助!!怎么将二进制转化为十六进制

谁能帮帮??怎么将二进制转化为十六进制??我想了半天,就是不知道怎么输入二进制,并进行存储

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

----------------解决方案--------------------------------------------------------
自己计算,自己转化嘛

又不是很复杂
----------------解决方案--------------------------------------------------------

我不知道怎么进行输入阿??能帮帮吗


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

怎么输入都不知道?
scanf


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


老千也来?

提示你下:

用数组来存二进制数,

然后按位算十六进制即可!
----------------解决方案--------------------------------------------------------
为什么我不能来

我大学也是学过C的,虽然只学了一个学期
----------------解决方案--------------------------------------------------------
自己写一下啊,首先scanf("%d",&i),然后b=i/10000,i=i/10000;在求b的每一位得加权数求和(sum),可以用swtich(sum){case...}转换,就行了.
----------------解决方案--------------------------------------------------------

#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();
}

你可以进行功能扩充,比如说任意进制间的转换,对于任意位数的输入和存储我也想了很长时间,最终采取链表的办法。




----------------解决方案--------------------------------------------------------
不错不错
----------------解决方案--------------------------------------------------------

我靠!
老千~``欢迎欢迎...
冒着删贴的危险来迎接你..

LZ,不写程序你会不会转变?


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