关于使用SCALE函数进行乘除计算
FORTRAN里的SCALE函数,原意是更改浮点数的指数部分,如SCALE(d,1)意为将浮点数d的指数部分加1,即d=d*2。也就是说,SCALE可以将浮点数与2的幂次的乘法操作转化为整型数的加减操作。
原以为整型数的加减操作会比浮点数的剩法快些,因此想到用SCALE函数来加速诸如X*2,X/2之类的操作。没想到事与愿违,使用了SCALE函数后计算速度反而变慢了20倍还多。
结论,SCALE函数不能对浮点数的乘除法产生任何加速作用。那么,为什么看似复杂的浮点运算为什么比看似简单的整数运算更快呢,我想原因大概就是浮点运算单元FPU太过强大的缘故吧。
转载于:https://www.cnblogs.com/hayashi/archive/2011/03/11/1981452.html
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
