UltraEdit 是一套功能强大的文本编辑器,可以编辑文本、十六进制、ASCII 码,完全可以取代记事本(如果电脑配置足够强大),内建英文单字检查、C++ 及 VB 指令突显,可同时编辑多个文件,而且即使开启很大的文件速度也不会慢。软件附有 HTML 标签颜色显示、搜寻替换以及无限制的还原功能,一般用其来修改EXE 或 DLL 文件。能够满足你一切编辑需要的编辑器。
虽然UltraEdit非常强大,默认却没有对MASM的语法高亮的支持!本来汇编代码敲起来就麻烦,要是编辑器不友好点,是非常挫伤积极性的!
如何为UltraEdit增加对MASM的语法高亮呢?首先需要明白UltraEdit通过什么方式读相关的配置文件。
UltraEdit通过读取.uew文件,对当前打开的不同后缀明的文件进行语法匹配,并且显示不同的颜色。也就是说,不同的编程语言,应该有不同的.uew文件。
Read the rest of this entry
汇编, 程序员, 编程
转自前辈们的告诫,冰冻三尺,非一日之寒。
我觉得其中很多道理,不只用在学IT,其他事情也是这样!
1.不要看到别人的回复第一句话就说:给个代码吧!你应该想想为什么。当你自己想出来再参考别人的提示,你就知道自己和别人思路的差异。
2.初学者请不要看太多太多的书那会误人子弟的,先找本系统的学,很多人用了很久都是只对部分功能熟悉而已,不系统还是不够的。
3.看帮助,不要因为很难而自己是初学者所以就不看;帮助永远是最好的参考手册,虽然帮助的文字有时候很难看懂,总觉得不够直观。
4.不要被对象、属性、方法等词汇所迷惑;最根本的是先了解最基础知识。
Read the rest of this entry
总结, 程序员, 编程
编写一个程序,读入一个正整数,把所有的连续的,和与给定的正整数相等的正整数们找出来。例如,如果输入为27,于是发现2+3+4+5+6+7,8+9+10,13+14为27,那么共有3个组合。如果输入的数字是10000,那么就有18加到142,297加到1328,388加到412以及1998加到2002这4组。
通常的算法是,将所有小于n/2的连续正整数的和的情况算出来与n比较。
Read the rest of this entry
C语言, 名题, 算法, 编程
今天捣鼓了以下Python的urllib模块,闲着无事,下个命令行下的下载器程序。
通过调用模块的urlretrieve方法获取远程文件,并且用自定义函数来处理下载过程中的显示问题。
Read the rest of this entry
Python, 上网, 编程
Fibonacci数列是指1, 1, 2, 3, 5, 8, 13, 21, 34, ····这样的数列。用式子描述即f1, f2, fn, f1=1, f2=1, 其后fn=fn-1+fn-2。
现在考虑,如何写一个程序,接受参数n,返回第n个fibonacci数值呢?
通常的办法是用递归:即从n开始,依次调用自身求出f(n-1)和f(n-2)。代码如下:
Read the rest of this entry
C语言, 名题, 算法, 编程
如果n与m是整数,那么m^n就是求m的n此方,即把m连乘n次!
用算法描述起来很简单!在n次循环内不断自乘m,或者递归调用n次乘法即可,但是这极其没有效率!
其实,可以将指数运算分解。注意到x^4可以由x^2自乘得到。
思路:当求m的n次方时,n可能是2k(偶数),可能是2k+1(奇数),可能是0(不需要乘).那么在计算m^n时,可以分成3部分进行递归。第一部分:n为0,不用计算。第2部分:n是偶数,递归计算m的n/2次方。第三部分:n是奇数,即表示为n=2k+1,那么递归调用计算m的n/2次方,再自乘m即可。
Read the rest of this entry
C语言, 名题, 算法, 编程
根据算数基本定理,任何一个整数n>1都可以表示为素数的乘积,切在不考虑顺序的情况下,该表达式是唯一的!即n=p1·p2·····pn。
写一个程序,读入一个正整数,把它的所有质因子找出来。例如,输入是72,72=2³·3²。质因数有2和3,为方便起见,将输出写成因数(指数)的形式!如输入72,则输出为2(3)3(2)。
思路:用质数依次去除n,从2开始一直到除不尽为止。如果除了i次,那么有2(i)。同样的道理3,5,7,···也按同样的办法处理!每一次除不尽时的余数,作为下次的被除数!
代码如下:
Read the rest of this entry
C语言, 名题, 算法, 编程
在用“筛法”求素数时,每次筛除素数的动作,其实有很多是重复的!比如,如果一个数是3*5*7*9,那么删除的时候,它会被作为3的倍数,5的倍数,7的倍数,9的倍数,被重复判断删除4次。类似的,较大的数有较多的因数,那么,删除它所耗费的时间会很多!如何来优化“筛法”的算法,使之不重复呢?
思路如下:从2开始,先删除2²,2³,2³,···,接着删除2·3,2²·3,2³·3,···,而此时并不删除3。再删除2·5,2²·5,2³·5,···,接下来2·7,2²·7,2³·7,···。一般而言,当发现p是一个素数时,先删除p²,p³,p³,···这一系列合数。因为p是素数,所以p²,p³,p³,···不可能被其它数整除。接着,找出比p大,但是第一个没有被删除的数q。再删除p·q,p²·q,p³·q,···。因为p是素数,q为目前为止未删除。所以p^¡·q之前也没有被删除。
Read the rest of this entry
C语言, 名题, 算法, 编程