contribute by <hsiehong
>
進階電腦系統理論與實作
浮點數除法
D1 = 2
, D2 = 1
od
: 判斷 slot
(除數) 是否為奇數orig
/slot
= /divop(orig/2, (slot+1)/2)
,因為 slot
是奇數。所以 (slot+1)/2
也會是整數,但是正確的應該是 divop(orig/2, slot/2)
,所以 line 9, 10 在做修正,要修正的值是result
,所以即為要補回去的誤差值QQ0 = 0x01000000
, QQ1 = 0x3f000000
, QQ2 = 23
LeetCode 829. Consecutive Numbers Sum
給定一正整數 N,問 N 能寫成幾種連續正整數之和
x
是從 N
開始,x += zzz
對應到就是 ,k 對應到 i
,從2開始檢查,因為1必有解就是該數本身,可得 zzz = 1 - i
iteration | N(x) | i | x%i | ret |
---|---|---|---|---|
init | 10 | 2 | - | 1 |
1 | 9 | 2 | 1 | 1 |
2 | 7 | 3 | 1 | 1 |
3 | 4 | 4 | 0 | 2 |
zzz = 1-i
另解 :
根據式子 ,只要找出 , 的正整數解即可,還有我們已經知道 k 的範圍 (),可以減少迴圈要跑的範圍
question : 範圍應該是 k < ,不太明白為什麼估計值可以省略 k