| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1023 人关注过本帖
标题:[求助]二进制输出为十六进制
只看楼主 加入收藏
hualinxf
Rank: 1
等 级:新手上路
帖 子:26
专家分:0
注 册:2007-8-21
收藏
 问题点数:0 回复次数:6 
[求助]二进制输出为十六进制

b.txt内容简略如下:
00000000010100100011111110100001
00000001101100011000000001001110
10000001000010001000000000111100
00000001100000000000000011011010

00000000001100000011111110011111
00000000111101101000000001110000
10000001101111101000000000101110
00000001100100010000000011011101

转换成十六进制输出每行开头为0X,第五行换行符也要输出。

搜索更多相关主题的帖子: 二进制 十六进制 输出 
2007-08-26 20:35
hualinxf
Rank: 1
等 级:新手上路
帖 子:26
专家分:0
注 册:2007-8-21
收藏
得分:0 
现在写了一个程序,好麻烦,乱读,不是逐行读,是跳行读。
且不输出第五行的换行符。唉!
2007-08-26 20:37
栖柏
Rank: 2
等 级:论坛游民
威 望:3
帖 子:1103
专家分:17
注 册:2007-8-23
收藏
得分:0 
我看到过了你问题,你能把源程序帖出来么?我也许帮不了 ,可以看看么

You have lots more to work on! Never give up!c language!
2007-08-26 20:39
hualinxf
Rank: 1
等 级:新手上路
帖 子:26
专家分:0
注 册:2007-8-21
收藏
得分:0 
回复:(栖柏)我看到过了你问题,你能把源程序帖出来...

#include <stdio.h>
#include <stdlib.h>
float gvid,gvnid,guvid;
int vid, vnid, uvid;

int main(int argc, char** argv)
{
FILE* fp;
int i,point,n;
char buf[100];
char tmp[1024];
int dec[32];
int las[8];
char lass[8];
char *bak=tmp;
int no=0;

fp=fopen("e://nurse/0b1.txt", "rb");
if(!fp)
{
printf("cannot open input file.\n");
exit(0);
}
for(point=1;point<4;point++)
{
for(i=0; i<point; ++i)
{
fscanf(fp, "%[^\n]\n", buf);
//printf("%s\n", buf);
}
for(no=0;no<100;++no)
{if(buf[no]=='0')
dec[no]=0;
if(buf[no]=='1')
dec[no]=1;
}
las[0]=8*dec[0]+4*dec[1]+2*dec[2]+dec[3];
las[1]=8*dec[4]+4*dec[5]+2*dec[6]+dec[7];
las[2]=8*dec[8]+4*dec[9]+2*dec[10]+dec[11];
las[3]=8*dec[12]+4*dec[13]+2*dec[14]+dec[15];
las[4]=8*dec[16]+4*dec[17]+2*dec[18]+dec[19];
las[5]=8*dec[20]+4*dec[21]+2*dec[22]+dec[23];
las[6]=8*dec[24]+4*dec[25]+2*dec[26]+dec[27];
las[7]=8*dec[28]+4*dec[29]+2*dec[30]+dec[31];
for(n=0;n<8;++n)
{
switch(las[n])
{
case 10: lass[n]='A';break;
case 11: lass[n]='B';break;
case 12: lass[n]='C';break;
case 13: lass[n]='D';break;
case 14: lass[n]='E';break;
case 15: lass[n]='F';break;
default :lass[n]=las[n]+48;break;
}
}
printf("0X%c%c%c%c%c%c%c%c\n",lass[0],lass[1],lass[2],lass[3],lass[4],lass[5],lass[6],lass[7]);
}
fclose(fp);
}

[此贴子已经被作者于2007-8-26 20:49:22编辑过]

2007-08-26 20:48
栖柏
Rank: 2
等 级:论坛游民
威 望:3
帖 子:1103
专家分:17
注 册:2007-8-23
收藏
得分:0 

You have lots more to work on! Never give up!c language!
2007-08-26 20:55
hualinxf
Rank: 1
等 级:新手上路
帖 子:26
专家分:0
注 册:2007-8-21
收藏
得分:0 
看过了,我改了一下,但是输出的结果有误。可能是我改的不对
2007-08-26 21:00
栖柏
Rank: 2
等 级:论坛游民
威 望:3
帖 子:1103
专家分:17
注 册:2007-8-23
收藏
得分:0 
感觉你写的……
太繁了
有函数用呀

You have lots more to work on! Never give up!c language!
2007-08-26 21:02
快速回复:[求助]二进制输出为十六进制
数据加载中...
 
   



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

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