09 2009 档案
摘要:先看看MAPM代码中包含的ARTICLE.PDF,对除法设计的描述是这样的: 使用了两个除法函数。对于少于250位的数字,我使用Knuth在The Art of Computer Programming, Volume 2一书中写的算法,稍有一些改动。 MAPM的基本数据结构定义如下: 1: typedef struct { 2: UCHAR *m_apm_data; 3: long m_ap...
阅读全文
摘要:先看看MAPM代码中附带的ARTICLE.PDF中的描述: 乘法通常是一个O(N^2)次运算,对于10000位数字的乘法要进行一亿次的运算。但是利用分部运算法(divide-and-conquer algorithm)可以达到更快的乘法,对于N位数字的时间复杂度大约是O(N^1.585),也就是说对于10000位数字的乘法只需要2,188,000次运算。而真正快速的乘法(Really Fast M...
阅读全文
摘要:还不错! Windows自带的计算器可以方便地把十进制的整数转换成二进制的整数,但是十进制的小数则无法直接转换成二进制的小数。 今天,我发现了一个快速的解决办法! 一个十进制小数可以表示成“X.Y”的形式,“X”是整数部分,“Y”是纯小数部分,要分别进行转换,最后合在一起。 整数部分“X”的转换成二进制可以直接利用Windows的计算器,非常简单,不说了。 对纯小数部分“Y”的...
阅读全文
摘要:算法是计算机科学领域最重要的基石之一,但却受到了国内一些程序员的冷落。许多学生看到一些公司在招聘时要求的编程语言五花八门就产生了一种误解,认为学计算机就是学各种编程语言,或者认为,学习最新的语言、技术、标准就是最好的铺路方法。其实大家都被这些公司误导了。编程语言虽然该学,但是学习计算机算法和理论更重要,因为计算机算法和理论更重要,因为计算机语言和开发平台日新月异,但万变不离其宗的是那些算法和理论,...
阅读全文