[转] 关取绝对值的效率问题

本文通过实验比较了使用Math.abs方法与if条件语句在处理大量数值取绝对值操作时的效率差异,并给出了具体的测试代码及结果。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

由一个项目用到很多的绝对值,我简单测试了一下,我想知道Math.abs是效率高不高?
好像if的效率还高一点,是不是这样的? //测试

                     
var dt:Date=new Date;

var dd:Number=dt.getMilliseconds();

var num:Number=-456879544.47846921499;

var outnum:Number;

var ci:int=1500000;

var i:int

for(i=0;i<ci;i++){

if(num<0){

outnum=num*-1;

}

}

dt=new Date;

var df:Number=dt.getMilliseconds();

trace('if:',dd,df);



dt=new Date;

dd=dt.getMilliseconds();

for(i=0;i<ci;i++){

outnum=Math.abs(num);;

}

dt=new Date;

df=dt.getMilliseconds();

trace('Math.abs:',dd,df);



结果是这样的
if: 140 171
Math.abs: 171 343


本人不是很了解这个方法,等待高人指点.....谢谢了
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值