十进制二进制转换,C语言实现
2017-06-30 15:31
281 查看
利用C语言读取一个TXT文件并将其中的0-255十进制数据转化成八位二进制序列,再以TXT文档存储,C语言中有itoa()函数也可以完成进制转换,更方便,但是要以固定位数输出不太方便。以下代码可以实现十进制到二进制的转换,并以TXT文档存储。由于最近做实验要用到,故写下来以备忘:
#include <stdio.h>
#include <stdlib.h>
FILE *fi,*fo;//文本指针
char fni[1024]="10.txt";//数组是为了存储文本名
char fno[1024]="2.txt";
int c;
int main()
{
int i,a[8];
fi=fopen(fni,"r");//以只读方式打开文件
if (NULL==fi)
{
fprintf(stderr,"Can not open file %s!\n",fni);
return 1;
}
fo=fopen(fno,"w");//打开只写文件,若文件存在则长度清为 0,即该文件内容消失,若不存在则创建该文件
if (NULL==fo)
{
fclose(fi);
fprintf(stderr,"Can not create file %s!\n",fno);
return 2;
}
while (1) //将文本中的十进制数转化为二进制
{
if (1!=fscanf(fi,"%d",&c)) break;
for(i=0;i<8;i++)
{
a[7-i]=c%2;
c=c/2;
}
for(i=0;i<8;i++)
fprintf(fo,"%d \n",a[i]);//将二进制数逐位输出
}
fclose(fo);//关闭文档
fclose(fi);
return 0;
}
#include <stdio.h>
#include <stdlib.h>
FILE *fi,*fo;//文本指针
char fni[1024]="10.txt";//数组是为了存储文本名
char fno[1024]="2.txt";
int c;
int main()
{
int i,a[8];
fi=fopen(fni,"r");//以只读方式打开文件
if (NULL==fi)
{
fprintf(stderr,"Can not open file %s!\n",fni);
return 1;
}
fo=fopen(fno,"w");//打开只写文件,若文件存在则长度清为 0,即该文件内容消失,若不存在则创建该文件
if (NULL==fo)
{
fclose(fi);
fprintf(stderr,"Can not create file %s!\n",fno);
return 2;
}
while (1) //将文本中的十进制数转化为二进制
{
if (1!=fscanf(fi,"%d",&c)) break;
for(i=0;i<8;i++)
{
a[7-i]=c%2;
c=c/2;
}
for(i=0;i<8;i++)
fprintf(fo,"%d \n",a[i]);//将二进制数逐位输出
}
fclose(fo);//关闭文档
fclose(fi);
return 0;
}
相关文章推荐
- C语言实现输出单精度、双精度小数十进制形式
- C语言实现十进制转八进制
- BCD码转十进制C语言实现
- 十进制转化为二,八,十六进制用栈实现(c语言编)
- c语言实现十进制与ASCII码互转
- BCD码转十进制C语言实现
- 如何用C语言实现十进制到二进制的转换并计算二进制中1的个数
- 快速实现十进制向二进制转换(心算实现)
- 【C语言】简易实现八进制转十进制(最大四位数)
- 快速实现十进制向二进制转换
- ?十进制/二进制转换(C语言)
- c语言之辗转相除法实现十进制转换为八进制
- C语言实现二进制与十进制转换
- C语言实现数值转换(十进制转八进制)
- 北航13年机试--十进制数字的科学计数法表示的C语言实现
- 指针实现字符串IP地址转化为十进制IP地址输出-c语言
- (C语言)实现对任意浮点型数据从十进制到二进制的转换
- c语言编程实现十进制到十六进制的转换
- c语言实现二进制数转换为十进制
- C语言通过栈实现将十进制转为八进制输出