# 2024q1 Homework4 (quiz3+4) contributed by < [`bclegend`](https://github.com/bclegend) > ## [ 第 3 週測驗題 ]( https://hackmd.io/@sysprog/linux2024-quiz3 ) ### 測驗 `1` 版本一相較於版本二改變了函式 `log2` 的使用,`log2(N)` 函數用來計算數字 `N` 的以 2 為底的對數。 並將該函式改寫為以下的版本,利用 `n` 若是比 1 還大時進行 bitwise 操作向右移一個位元,並紀錄下位移的次數來計算原本需要使用函式 `log2` 來取得的數值 ```c while (n > 1) { n >>= 1; msb++; } ``` ### 測驗 `2` 參考《[Hacker's Delight]( https://web.archive.org/web/20180517023231/http://www.hackersdelight.org/divcMore.pdf )》,採用 bitwise operation 來實作除法 ## [ 第 4 週測驗題 ]( https://hackmd.io/@sysprog/linux2024-quiz4 )