#94: max和min一樣可以不用if


164253 (pudding164253)

學校 : 不指定學校
編號 : 1822
來源 : [140.116.247.244]
最後登入時間 :
2024-11-12 17:39:09
a021. 三人行必有我師 -- 板橋高中教學題 | From: [182.234.181.208] | 發表日期 : 2024-06-23 02:02

a-b>>31在a<b的時候是32bit都是1(算術位移)

因此a-b>>31&b就會是b

同理可以做出相反的狀況

最後要特別判斷一下a==b的情況

所以結果是((a-b>>31&b)|(b-a>>31&a)|(~(a-b>>31)&~(b-a>>31)&a))

 
ZeroJudge Forum