求 C语言程序 将16进制数,例如“0x00,0xff,0x3f”之类的数,转化为2进制数,急急急!!!

如题所述

第1个回答  2013-05-21
char i2[33]={0};/*放二进制字符串的缓冲*/
char* i16="0xff";
i=strtol(i16,NULL,16);/*读取16进制的值*/
itoa(i,i2,2);/*输出为二进制*/追问

能写出完整的程序么。。。

追答

#include
#include
void main()
{
char i2[33]={0};/*放二进制字符串的缓冲*/
char* i16="0xff";
long int i=strtol(i16,NULL,16);/*读取16进制的值*/
itoa(i,i2,2);/*输出为二进制*/
printf(" %s", i2 );
system("pause");
}

追问

呃。。。我需要是任意一个16进制数的转化,不是固定这个0xff的。。。

追答

#include
#include
void main()
{
char i2[33]={0};/*放二进制字符串的缓冲*/
char i16[10];
scanf("%s",i16);
long int i=strtol(i16,NULL,16);/*读取16进制的值*/
itoa(i,i2,2);/*输出为二进制*/
printf(" %s", i2 );
system("pause");
}
//什么稀烂 你不会吧固定的字符串用scanf 输入吗~!!

追问

要是能输入不就简单了么。。。我的数据是一个128*8的数组,1024个数,您让我一个一个敲啊。。。

追答

你只问了类似的数怎么转换 没有说你的数据是怎么样的
数组而已 循环判断 一下 照样很简单 越想越觉得你稀烂 ! 你慢慢玩吧别追问了- -! 哥伤不起!

第2个回答  2013-05-21
转为2进制 输出 还 是 干什么 ????追问

把那些16进制数转成2进制,然后打出来,比如0x00,转完之后是 00000000,显示出来