如果下载的是英文字符是去不掉的!但是如果是看不懂的乱码。倒有办法让乱码显示出来。乱码的出现是因为应用界面的字符数据库不支持造成的。用utf-8模式可以显示中文乱码。
这是万能乱码显示方法>
1可执行程序(executable program,EXE File)是指一种可在 *** 作系统存储空间中浮动定位的特殊程序。在MS-DOS和MS-WINDOWS下,此类文件扩展名为exe。
2根据事实来看,由高级语言编写的程序称为“源程序”,由二进制代码表示的程序称为“目标程序”,由汇编语言编写的程序称为“汇编程序”。
3对于计算机本身来说,它只能接收和处理由0到1的代码构成的二进制指令和数据,所以计算机能识别的程序是“目标程序”。而计算机可以直接执行的程序是可执行程序,即扩展名为exe的程序。
扩展资料
可执行程序的文件格式
1DOS可执行文件
最简单的可执行文件格式,可以在DOS和WINDOWS中运行。它通过在文件头添加ASCII字符串“MZ”(16进制中表示为4D5A)来标识。“MZ”是MS-DOS开发者之一的马克·茨柏克沃斯基(Mark Zbikowski)的姓名首字母缩写。
216位元新可执行文件
通过在文件头添加ASCII字符串“NE”来标识。它只能运行在Windows和OS/2系统,而不能在DOS下运行。
316/32位元可执行文件
通过在文件头添加ASCII字符串“LE”来标识。它仅用来在Windows 3x和Windows 9x中替代VxD驱动。
432位元线性可执行文件
通过在文件头添加ASCII字符串“LX”来标识。运行在OS/2 20以及更高版本中,也可用于某些DOS扩展。
532位元可执行文件
这是最复杂也是目前最流行的可执行文件格式,通过在文件头添加ASCII字符串“PE”来标识。它主要运行于Windows 95和Windows NT以及更高版本的Windows中,也可在BeOS R3中运行。
664位元可执行文件
与前一种类似,但使用支持64位元的中央处理器。因此它仅能在64位元的Windows系统中运行,譬如Windows XP 64-Bit Edition 和 Windows Server 2003 64-Bit Edition。
参考资料:
double randomz (int ia, int ib)
{
double x; //返回值
static int initial[15]={0};
static double iz,iy[15]={00};
//使用static类型,为下次调用保留值,不然每次都要从头开始
switch(ia)
{
case 1: //ia参数为1,从键盘输入种子初始化随机数生成器
iz=1000000010
read(5,'(5i8)') initial 这句话直接翻成C很难,
//意思就是从键盘(5号设备)连续读入5个整数(难道不是15?
// 我怀疑源码写错了,应该是15i8),存入整型数组 initial ;
//而且Fortran的格式描述符i8强制每个整数都是8位(千万位),
//如果输入不足8位就切换到下一个数进行输入,则Fortran会
//自动在不足8位的数的右侧补上足够的0,以放大到千万位
iy=dble(initial) 这句话直接翻成C很难,
//本句用到Fortran90/95特色的数组整体 *** 作,C/C++要用循环;
//是把整型数组initial逐项复制给double数组iy,转换成double型
x = iy[ib]10E-8 ;
case 2: //ia参数为2,继续使用已经初始化好了的生成器
iy[ib] = 3290 iy[ib] % iz ;
x = iy[ib]10E-8 ;
case 3: //ia参数为3,重新初始化,但还使用原先的种子
iy=dble(initial) 这句话直接翻成C很难,用循环完成。
}
//switch结束
return x;
}
=================================
算法的主要思想就是“线性同余法”,
linear-congruential method
其基本迭代公式为
X[n+1] = ( A X[n] + B )% C
X的初始值随便取
在你给的源代码里:
A= 3290
B= 0
C= 1000000010
源代码中的关键是 iy[ib] = 3290 iy[ib] % iz
另外 x = iy[ib]10E-8 是为了将结果归一化到0~1之间再返回
你可以自己手工算几个数,就能看出这个算法的奥妙了。
另外需要指出的是——源代码里用static就是为了每次case 2时候的调用,都是在对上一次的结果进行迭代。而ib参数的用处就是保持有几组不同的独立迭代序列可用,防止不同用途的几处“生成伪随机数”调用互相干扰。
源码 是什么意思
在互联网上我们看到的任何的东西本质上来说都是代码,因为互联网本来就是由数据代码构成的。而一般来说学习一门计算机语言的周期可能需要2-3年的时间,很显然,我们不会为了建一个网站而去特地花费这么长时间去学习语言的。
网站源码 有什么作用
生成目标代码,即计算机可以识别的代码。对软件进行说明,即对软件的编写进行说明。为数不少的初学者,甚至少数有经验的程序员都忽视软件说明的编写,因为这部分虽然不会在生成的程序中直接显示,也不参与编译。但是说明对软件的学习、分享、维护和软件复用都有巨大的好处。因此,书写软件说明在业界被认为是能创造优秀程序的良好习惯,一些公司也硬性规定必须书写。需要指出的是, 源代码 的修改不能改变已经生成的目标代码。如果需要目标代码做出相应的修改,必须重新编译。
可以用
Resource Hacker
反编译exe和大多数资源文件
Resource Hacker是比较好的反编译软件
下载地址:>
1、在百度上搜索下载反编译工具ILSpy,解压后如图,双击exe文件打开解压工具
2、选择file,点击“打开”,选择要反编译的文件,点击“打开”,就可以看到源码了!
3、如果想把源码保存下来,自己在源码的基础上修改,点击"file"下的“Save code”,保存即可,保存完的文件如图
4、如需用vs打开反编译后的源码,只需要打开这个csproj文件即可
ORG 00H
你参考一下这个吧,兄弟没有原理图这个程序没办法给你解释清楚的,还有不加C程序能运行
START:MOV A,#00H ;清除屏幕
MOV P0,A
MOV P2,A
CALL DIS ;调用显示子程序
CALL DELAY ;调用延时子程序
CALL MOVE ;调用左移子程序
JMP START
DIS: MOV R2,#04H ;每个画面2个字,8个字分4次显示
MOV 20H,#00 ;取码指针暂存地址20H初值为00
D4: MOV R4,#00H ;74LS154扫描指针初值
MOV R1,#0FFH ;每幕停留的时间
D5: MOV R6,#32 ;每幕两个字,32个数据码
MOV R0,20H ;取码指针存入R0
D2: CALL READ1 ;调用取码子程序
INC R4 ;扫描下一列
DJNZ R6,D2 ;显示1幕?
MOV R4,#00 ;清除74LS154扫描指针为00
DJNZ R1,D5 ;每幕停留时间到了?
MOV 20H,R0 ;保留取码指针存入20H地址
DJNZ R2,D4 ;2幕显示完毕了?
RET
MOVE:
MOV 20H,#00 ;取码指针暂存地址20H初值为00
MOV R4,#00H ;74LS154扫描指针初值
M1: MOV R1,#0FFH ;每幕停留时间
M2: MOV R6,#32 ;每幕两个字,32个数据码
MOV R0,20H ;取码指针存入R0
M3: CALL READ1 ;调用取码子程序
INC R4 ;扫描下一列
DJNZ R6,M3 ;显示1幕
MOV R4,#00 ;清除74LS154扫描指针为00
DJNZ R1,M2 ;每幕停留时间到了
MOV A,20H ;取码指针载入A
ADD A,#08H ;加8
MOV 20H,A ;再存入20H地址取码指针
XRL A,#128 ;8个字是否都左移完毕了
JNZ M1
RET
READ1:MOV A,R4 ;扫描指针载入A
MOV P1,A ;输出至P1扫描列
MOV A,R0 ;取码指针载入A
MOV DPTR,#TABLE ;数据指针指到TABLE
MOVC A,@A+DPTR ;到TABLE取上半部的数据码
MOV P0,A ;输出至P0显示
INC R0 ;取下一个码
MOV A,R0 ;取码指针载入A
MOV DPTR,#TABLE ;数据指针指到TABLE
MOVC A,@A+DPTR ;到TABLE 取下半部的数据码
MOV P2,A ;输出至p2显示
INC R0 ;取码值加1
MOV R3,#25 ;延时
DJNZ R3,$
MOV A,#00H ;清除屏幕
MOV P0,A
MOV P2,A
RET
DELAY:
MOV R3,#200
D7: MOV R5,#248
DJNZ R5,$
DJNZ R3,D7
RET
;1 "振"
TABLE:DB 08H,40H,08H,42H
DB 08H,81H,0FFH,0FEH
DB 09H,02H,0AH,0CH
DB 7FH,0F0H,49H,00H
DB 49H,0FFH,49H,02H
DB 49H,0E0H,49H,18H
DB 59H,14H,0CBH,26H
DB 41H,44H,00H,00H
;2 "兴"
DB 00H,80H,00H,81H
DB 20H,82H,18H,84H
DB 0CH,88H,00H,98H
DB 0C0H,80H,3CH,80H
DB 00H,80H,01H,90H
DB 06H,88H,18H,84H
DB 60H,86H,01H,83H
DB 00H,80H,00H,00H
;3 "中"
DB 00H,00H,1FH,0C0H
DB 10H,80H,10H,80H
DB 10H,80H,10H,80H
DB 10H,80H,0FFH,0FFH
DB 10H,80H,10H,80H
DB 10H,80H,10H,80H
DB 10H,80H,3FH,0C0H
DB 10H,00H,00H,00H
;4 "华"
DB 00H,20H,02H,20H
DB 04H,20H,08H,20H
DB 3FH,0A0H,0C0H,20H
DB 02H,20H,04H,0FFH
DB 08H,20H,0FFH,20H
DB 10H,0A0H,20H,0A0H
DB 60H,0A0H,03H,0A0H
DB 00H,20H,00H,00H
;5 "电"
DB 00H,00H,1FH,0E0H
DB 12H,40H,12H,40H
DB 12H,40H,12H,40H
DB 0FFH,0FCH,12H,42H
DB 12H,42H,12H,42H
DB 12H,42H,3FH,0E2H
DB 10H,02H,00H,0EH
DB 00H,00H,00H,00H
;6 "子"
DB 01H,00H,01H,00H
DB 41H,00H,41H,00H
DB 41H,00H,41H,02H
DB 41H,01H,47H,0FEH
DB 45H,00H,49H,00H
DB 51H,00H,61H,00H
DB 01H,00H,03H,00H
DB 01H,00H,00H,00H
;7 "事"
DB 20H,20H,20H,20H
DB 2EH,0A8H,2AH,0A8H
DB 2AH,0A8H,2AH,0AAH
DB 2AH,0A9H,0FFH,0FEH
DB 2AH,0A8H,2AH,0A8H
DB 2AH,0A8H,2AH,0A8H
DB 2EH,0FCH,60H,20H
DB 20H,20H,00H,00H
;8 "业"
DB 00H,02H,08H,02H
DB 06H,02H,01H,0E2H
DB 00H,02H,0FFH,0FEH
DB 00H,02H,00H,02H
DB 00H,02H,0FFH,0FEH
DB 00H,22H,00H,0C2H
DB 03H,02H,0CH,06H
DB 00H,02H,00H,00H
END
初学者看懂代码方法是:
先搞清楚你要看的代码,是拿来干什么的。简单说,先从需求分析了解,然后是系统分析,最后是块的理解。你如果反过来,一行行的代码猜它的组合逻辑,这没有什么价值。
初学者要看懂代码首先从要需求分析了解,然后是系统分析,最后是块的理解。看懂代码其实不难,大抵不过是选择,分支,循环。
语法如果看不懂,那就需要补补基础,先弄清楚这段代码要做什么,有说明最好,可以帮助理解,没有说明就试着过一下代码流程。
源代码主要作用是:
1、生成目标代码,即计算机可以识别的代码。
2、对软件进行说明,即对软件的编写进行说明。为数不少的初学者,甚至少数有经验的程序员都忽视软件说明的编写,因为这部分虽然不会在生成的程序中直接显示,也不参与编译。但是说明对软件的学习、分享、维护和软件复用都有巨大的好处。
3、因此,书写软件说明在业界被认为是能创造优秀程序的良好习惯,一些公司也硬性规定必须书写。
4、需要指出的是,源代码的修改不能改变已经生成的目标代码。如果需要目标代码做出相应的修改,必须重新编译。
以上就是关于从网站上复制下来的文章保存到TXT文本文档中后,在每段后面都有一些乱码。有什么软可以去除这些乱吗全部的内容,包括:从网站上复制下来的文章保存到TXT文本文档中后,在每段后面都有一些乱码。有什么软可以去除这些乱吗、计算机能直接执行的是什么程序、fortran程序解读等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)