Re: 位元運算的效率為何比較好?
這個要從組合語言的角度才能了解。
一個整數除以 64 等於右移 6 位元,現在的 cpu 不管是不是 x86
的都有右移的指令,一般這種指令比整數除法快。
上面只針對整數除法而言。如果不是整數除法,x=x/64 不能寫成
x=x>>6; 如果要考慮小浮點運算,比較麻煩,你要知道浮點運算
的表示法,直接去處理指數份,但這樣不是好程式。不要嘗試這
麼做。
==> 在 "sonet" <sonet.all@msa.hinet.net> 的文章中提到:
> x = x >> 6;
> x = x / 64;在compile後 是否把它轉成等價的上式如果是這樣,
> 為何前者的效率比後者好? 是因為前者省略處理小數的問題
> 嗎?
> 如果要考慮小數的問題 後者又該轉換成什麼等價的式子?
--
* Origin: ★ 交通大學資訊科學系 BBS ★ <bbs.cis.nctu.edu.tw: 140.113.23.3>
Programming 近期熱門文章
PTT數位生活區 即時熱門文章