看板Programming
标 题Re: 位元运算的效率为何比较好?
发信站交大资科_BBS (Mon May 21 14:43:33 2007)
转信站ptt!ctu-reader!ctu-peer!news.nctu!news.cis.nctu!cis_nctu
这个要从组合语言的角度才能了解。
一个整数除以 64 等於右移 6 位元,现在的 cpu 不管是不是 x86
的都有右移的指令,一般这种指令比整数除法快。
上面只针对整数除法而言。如果不是整数除法,x=x/64 不能写成
x=x>>6; 如果要考虑小浮点运算,比较麻烦,你要知道浮点运算
的表示法,直接去处理指数份,但这样不是好程式。不要尝试这
麽做。
==> 在 "sonet" <[email protected]> 的文章中提到:
> x = x >> 6;
> x = x / 64;在compile後 是否把它转成等价的上式如果是这样,
> 为何前者的效率比後者好? 是因为前者省略处理小数的问题
> 吗?
> 如果要考虑小数的问题 後者又该转换成什麽等价的式子?
--
* Origin: ★ 交通大学资讯科学系 BBS ★ <bbs.cis.nctu.edu.tw: 140.113.23.3>