看板 Programming 關於我們 聯絡資訊
這個要從組合語言的角度才能了解。 一個整數除以 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>