Re: [問題] 面試考題 程式最佳化
※ 引述《apey ()》之銘言:
: hi
: 以下是我今天面試所遇到的考題, 來這裡請教大家
: a,b是 unsigned int
: 最佳化以下兩段程式碼 1 跟 2
: 1.if ( (a/24) > b ) return 1;
: 2.a=(b/1024)*10;
一般考這種題目,無非是想考你 << 與 >> 的用法。
很不幸得,對一些 CPU來說, >>1 與 >>2所需的 clocks數量不一樣多,
可以看機械碼確認此事。
萬一這個 CPU有配備 single cycle multiplication and hardware divider,
也許老實去用除法或乘法還比較快一些。
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 220.128.111.37
討論串 (同標題文章)