看板Programming
標 題[問題] 效率的問題~!?
發信站批踢踢實業 (Fri Jun 19 09:41:11 2009)
轉信站ptt2!news.ntu!ptt
我最近有空閒 所以在做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
8F:推 wowtiger:妳知道 P4 上面 add 比 shift 慢 12 倍嗎 114.44.183.139 06/28 14:16
9F:→ wowtiger:阿哩 寫相反了 114.44.183.139 06/28 14:17