| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 933 人关注过本帖
标题:[求助]→◆→◇→◆→◇→◆→◇→[求助]如何实现16进制转2进制
只看楼主 加入收藏
my522cn
Rank: 1
等 级:新手上路
帖 子:10
专家分:0
注 册:2007-7-13
收藏
 问题点数:0 回复次数:8 
[求助]→◆→◇→◆→◇→◆→◇→[求助]如何实现16进制转2进制

问题要求:输入一段12位的16进制字符串,确认输入合法后转换为2进制字符串,按010101010这样的格式输出这段12×4位的2进制字符串文件

在DEV C++ 4.9.9.2下能编译通过

[此贴子已经被作者于2007-7-20 16:30:40编辑过]

搜索更多相关主题的帖子: 进制 字符 DEV 
2007-07-17 13:44
my522cn
Rank: 1
等 级:新手上路
帖 子:10
专家分:0
注 册:2007-7-13
收藏
得分:0 
回复:(my522cn)[求助]如何实现16进制转2进制
这是我之前些的,错误太多了
#include<stdio.h>
#include<conio.h>
#include<stdlib.h>
char mac[12],mac_2[12][4];
char *pmac,*pmac_2;
char *putmac (char *);
void check (char *);
//////////////////////////////////////////////////////////
main()
{

putmac(pmac);

printf("%s\n",mac);

getche();

return 0;

}
//////////////////////////////////////////////////////////
char *putmac (char *p)
{
&mac[0]=*p;

printf ("\nEnter the MAC : ");
scanf ("%s",&mac);
check (mac);
printf ("\nThe MAC your type is %s\n",mac);

return p;

}
//////////////////////////////////////////////////////////
void check (char *p)
{
p=&mac[0];
int i;

if (strlen(*pmac)!=12)
{
printf("\nTYPE ERRNO!\n");
putmac();
}
else

for (i=0;i<12;i++)
{
if (mac[i]>='0'&&mac[i]<='9'||mac[i]>='A'&&mac[i]<='F'||mac[i]>='a'&&mac[i]<='f')
continue;
else
{
printf("\nTYPE ERRNO!\n");
putmac();
}
}
return ;
}

http://hi.baidu.com/my522cn
2007-07-17 13:45
leeco
Rank: 4
等 级:贵宾
威 望:10
帖 子:1029
专家分:177
注 册:2007-5-10
收藏
得分:0 


//language C++
#include <iostream>
#include <bitset>
using namespace std;

#define INT64 long long

int main()
{
INT64 a;
cin>>hex>>a;
cout<<bitset<48>(a)<<endl;
}


/* language C */
#include <stdio.h>
#include <stdlib.h>
int main()
{
int a,i;
char buf[32+1];
for(i=1;i<=12;i++){
scanf(\"%1x\",&a);
printf(\"%4d\",atoi(itoa(a,buf,2)));
}
printf(\"\n\");
}


/*without calling library function*/
#include <stdio.h>

char* map[16]={\"0000\",\"0001\",\"0010\",\"0011\",\"0100\",\"0101\",\"0110\",\"0111\",
\"1000\",\"1001\",\"1010\",\"1011\",\"1100\",\"1101\",\"1110\",\"1111\"};

int main()
{
int a,i;
for(i=1;i<=12;i++){
scanf(\"%1x\",&a);
printf(\"%s\",map[a]);
}
printf(\"\n\");
}

2007-07-17 14:49
my522cn
Rank: 1
等 级:新手上路
帖 子:10
专家分:0
注 册:2007-7-13
收藏
得分:0 

谢谢,可是我要的是C语言的代码


http://hi.baidu.com/my522cn
2007-07-20 12:25
my522cn
Rank: 1
等 级:新手上路
帖 子:10
专家分:0
注 册:2007-7-13
收藏
得分:0 
哦,看到了,再次谢谢

http://hi.baidu.com/my522cn
2007-07-20 12:26
fangfangff
Rank: 1
等 级:新手上路
威 望:2
帖 子:479
专家分:0
注 册:2006-12-22
收藏
得分:0 
3楼很强,在此帮忙顶一个!!!!!

千里冰封---My Love 尽管相隔千里 , 依然拥有冰封
2007-07-20 13:25
my522cn
Rank: 1
等 级:新手上路
帖 子:10
专家分:0
注 册:2007-7-13
收藏
得分:0 

急急急。。。


[CODE]
#include <stdio.h>

int main()
{
int i;
char mac[12][4]={0};
char *Ptr = NULL;

printf("\n Enter the MAC : ");


Ptr = (char *)malloc(12 * 4 * sizeof(char));
if (NULL == Ptr)
{
exit (1);
}

for(i=0;i<12;i++)
{

;
;
switch (getche())
{
case '0': strcpy(&mac[i][4],"0000"); break;
case '1': strcpy(&mac[i][4],"0001"); break;
case '2': strcpy(&mac[i][4],"0010"); break;
case '3': strcpy(&mac[i][4],"0011"); break;
case '4': strcpy(&mac[i][4],"0100"); break;
case '5': strcpy(&mac[i][4],"0101"); break;
case '6': strcpy(&mac[i][4],"0110"); break;
case '7': strcpy(&mac[i][4],"0111"); break;
case '8': strcpy(&mac[i][4],"1000"); break;
case '9': strcpy(&mac[i][4],"1001"); break;
case 'A': strcpy(&mac[i][4],"1010"); break;
case 'B': strcpy(&mac[i][4],"1011"); break;
case 'C': strcpy(&mac[i][4],"1100"); break;
case 'D': strcpy(&mac[i][4],"1101"); break;
case 'E': strcpy(&mac[i][4],"1110"); break;
case 'F': strcpy(&mac[i][4],"1111"); break;
default: printf("\nTYPE ERRNO!\n"); exit (0);
}
}

printf("\n%s\n",mac[12][4]);
free(Ptr);
Ptr = NULL;
}


[/CODE]

这是我修改后的,问题是为什么老是输出的null值这是怎么回事?

[此贴子已经被作者于2007-7-20 15:35:05编辑过]


http://hi.baidu.com/my522cn
2007-07-20 14:55
my522cn
Rank: 1
等 级:新手上路
帖 子:10
专家分:0
注 册:2007-7-13
收藏
得分:0 
图片附件: 游客没有浏览图片的权限,请 登录注册

运行结果

http://hi.baidu.com/my522cn
2007-07-20 15:55
my522cn
Rank: 1
等 级:新手上路
帖 子:10
专家分:0
注 册:2007-7-13
收藏
得分:0 
为什么还没人~~~啊,急死了

http://hi.baidu.com/my522cn
2007-07-20 16:31
快速回复:[求助]→◆→◇→◆→◇→◆→◇→[求助]如何实现16进制转2进制
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.086374 second(s), 10 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved