‘壹’ 如何用c语言实现十进制文件转化成二进制文件
10进制转化为2进制的算法非常简单,不断除以2,每次的余数为低位数,直到数为0。
可使用简单的递归实现这一过程。例程如下:
#include<stdio.h>
voidfun(inti)//定义变量i;
{
if(i>1)
fun(i/2);//变量i除2;
printf("%d",i%2);//输出i除以2的余数;
}
intmain(){
intn;
scanf("%d",&n);
fun(n);//调用递归函数
return0;
}
用py2exe 打包成可以执行文件
‘叁’ C/C++语言编译生产可执行的二进制文件的过程求大神详尽解释,
预编译。编译器将你的.c、.cpp源代码,通过解释其中的预编译指令,将源代码转换成相应的没有任何预编译指令的代码。
编译、优化。将上一步的代码编译成汇编指令,并作一定优化,形成对应的.s汇编代码
汇编。将.s文件汇编成机器码,形成对应的.o目标文件,此时是不可执行的二进制文件。生成对应的清单文件。为了连接需要,还会生成未定向符号表、导出符号表、地址重定向表等等。
连接。先根据对应的清单文件、连接文件及之间的调用关系,决定所有的目标文件及引用的库文件在最后可执行文件中的位置;然后做一些其他事情,比如根据符号表等将目标文件中的符号地址补全等等;最终得到可执行文件。
这只是我个人的简单理解,更详尽的解答都可以写成好几本书了=_=望采纳~
‘肆’ 如何将文件转换成二进制文件
您好。
将其导入ultra
edit,里面有导出二进制文件选项
有各最简单的方法,windows其实自带了一个这样的工具exe2bin.exe在运行里输入cmd打开msdos方式,里面输入
c:\>exe2bin
/?
就可以查看一下这个命令的方式,比如
c:\>exe2bin
c:\a.exe
b.bin
再用记事本查看就可以了,不过这种方法只能对exe文件有效。
如果还有问题,可以继续追问,感谢。
‘伍’ 怎样把文件转换成二进制形式的文本文件
好吧你不需要工具的话那我直接用C#的源代码写一下。
publicvoidwrite010File(stringfilepath)
{
FileStreamfs=newFileStream(filepath,FileMode.Open,FileAccess.Read);
StreamWritersw=newStreamWriter("out.txt");
byte[]buffer=newbyte[2048];
intword=0;
while((word=fs.Read(buffer,0,buffer.Length))>0)
{
//这里将读入内存的数据使用二进制写出
for(inti=0;i<word;i++)
{
sw.Write(Convert.ToString(buffer[i],2));
}
}
sw.Close();
fs.Close();
}
将文件路径传入就行了,他会转换为二进制然后输出到out.txt中。
‘陆’ 源程序文件是怎样变成可执行的二进制文件的
通过下面这条命令,main.c和swap.c就产生了一个可执行二进制文件swap》gccmian.cswap.c-oswap那么这条命令是么样把源程序变成可执行程序的呢?步骤如下:1、驱动程序首先调用C预处理器(CPP)把源文件翻译成一个ASCII中间文件mian.i,预处理器会把#include所包含的内容都插入到声明的位置,并且做宏替换,把main.c文件的第3行的SIZE替换成2(注意这里只是做简单的文本替换)。2、接下来驱动程序的C编译器将main.i翻译成汇编语言程序main.s3、然后驱动程序的汇编器将汇编语言程序main.s翻译成可重定位的二进制文件main.o4、最后运行链接器将main.o与swap.o以及一些必要的系统目标文件(比如你将调用的printf函数就是printf.o)连接起来变成一个可执行的二进制文件。
‘柒’ c语言是如何编译成二进制
计算机专业有门课程叫做《编译原理》,详细讲述了怎么把高级语言翻译成汇编语言活着机器能看懂的二进制代码。
简单的说,C语言是通过编译器翻译成二进制代码的(就像英译汉的软件把英文翻译成汉语一样。把高级语言翻译成机器语言过程很复杂,学了编译原理就懂了)。还有编译器可以用各种语言编写,C语言可以被用C语言写的编译器来编译。
‘捌’ 如何用c语言.把文本文件转换成二进制文件
二进制文件转换为文本文件是没有任何实际意义的.
二进制文件和文本文件最根本的区别就是二进制文件在读写的时候系统不对文件进行任何处理而交由程序员处理,
而文本文件打开是先由操作系统把文件中而在的\r\n转换为\n.
因为我们在c语言中写程序换行只有\n,
但是在windows操作系统中,
换行是\r\n,
是两字字节.
如果不作任何处理,
fgetc()
==
'\n'
遇到这类语句将会出现一些小错误,
导致文件读写失败.
所以在读的时候,
系统自动把文件中的\r\n变成\n,
写的时候把内存中的\n全部转换成\r\n.
至于为什么c语言用\n而windows用\r\n,
这是因为c语言是最早出现在linux系统中的,
而linux用的换行只有\n,
所以为了使代码可移植性较高,
在windows中编写c程序仍然使用\n,
程序员就不需要去在意这些细节问题了.
‘玖’ 如何生成二进制(bin)文件
可以去网上下一个Hex2Bin.exe(也可以自己写一个,非常简单的小程序),添加到项目的User Command里,每次编译后将生成的hex文件转换为bin文件。
MDK自身带有fromelf.exe,可以将输出的axf文件直接生成bin文件。
‘拾’ windows下如何用gcc 把c编译成纯二进制文件
方法如下: 双击GCC安装包,mingw-get-setup.exe,点击Install安装。 点击Change选择安装路径,尽量不要有中文和空格, 将package 下面的mingw-***和mingw32-***和msys-**。都勾选上,等待下载安装,直到勾选框全部变成土灰色。 找到安装目录的bi