作者asail0712 (emeth)
看板Programming
標題[問題] 效率的問題~!?
時間Fri Jun 19 09:41:09 2009
我最近有空閒 所以在做ACM的題目
其中有需要做
n /= 2的動作
我以為改成 n >>= 1 直接做shift會比較快 但是事實上卻沒有
另外要做 n % 2 == 0 的判斷
我改成 (n & 00000000000000000001) == 00000000000000000000
但是ACM跑出來的時間並沒有縮短
我一直以為計算改成位元組的 shift 或是 and 跟 or 會比較快
請問我這些觀念是不是錯誤的!!??
--
(好痛>"<)~ ( ̄ε(# ̄)☆ o# O╮o( ̄皿 ̄o) ~(看我的殺球~~!!!!)
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 124.11.141.41
1F:→ jlovet:因為compiler編譯成組語的時候就是這麼做的140.123.102.167 06/19 14:04
2F:→ jlovet:他們發現除二的次方被的時候本來就會用shif140.123.102.167 06/19 14:05
3F:→ jlovet:而不是用div140.123.102.167 06/19 14:05
4F:推 Huangs:差異很微小 ACM online judge不一測得出來 218.167.6.113 06/20 06:53
5F:推 bobhsiao:快慢有些是IO的關係,存起來一並輸出較快 219.85.82.131 06/20 09:36
6F:→ freesamael:n & 1 == 0 就可以了,不用自己補 0...118.231.107.246 06/20 12:32
7F:推 bobhsiao:開頭補0,是8進位的表示法 219.85.82.131 06/20 20:04