Delphi代码优化(二) 整数篇(3)

2008-04-09 04:30:37来源:互联网 阅读 ()

新老客户大回馈,云服务器低至5折

位的),你有四种武器(为什么不是七种?问Borland,别来问我)——int64compdoubleextended。其中除了64位整数类型int64外,其余都是浮点数,其运算都是由FPU指令实现的。这其中的comp类型,存储结构同int64一模一样,按照Borland的官方说法,comp类型已经过时,应当被int64所取代,理由很简单——整数运算总比浮点快吧。然而根据一项在PII上进行的测试,int64除了在加减运算中具有无可比拟的优势外,在乘除方面,竟比浮点数还慢!

好在还有老当益壮的comp,只是稍有些繁琐。

首先将变量声明为int64,并声明两个辅助元:

var

a,b,c,d,e: int64;

ca:comp absolute a;

cc:comp absolute c;

加减法不用变,除法就如下处理:

c:=trunc(ca/b); //is faster than c:= a div b

乘法这么来:

e:=round(ca*b cc*d); //is faster than e:=a*b c*d;

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:装扮工具提示条

下一篇:远程控制篇:服务端程序关机时的处理