# 2017q3 Homework1 回顧 - [ ] clz * [HTYISABUG](https://hackmd.io/s/rJq6OkIhW) * clz 應用場景 * 硬體除法 * 若除數被除數都有 leading zero, 那麼可以將他們同左移一部份, 省下這些多餘的迴圈,至於左移多少, 就是經由 clz 來計算決定了 * 轉換整數成浮點數 * 浮點數的 exponent 部份能用 clz 快速算出快速計算倒數 (Newton–Raphson division) * 尋找迴圈中的循環 * 給定 function 跟起始條件, 這種演算法能找到循環的開始與結束點,其中的 Gosper’s algorithm 有應用到 clz * 資料壓縮 * 將 integer 壓縮為 leading zero 的數量以及剩下的部份 :::info 一併參照 [Find first set](https://en.wikipedia.org/wiki/Find_first_set) ::: * [st9007a](https://hackmd.io/s/rywfL4tj-) * Division Algorithm * Integer Square Root * [zhanyangch](https://hackmd.io/s/SkFjdEw2-) * H.264 使用的編碼 Exponential-Golomb coding * [Yuessiah](https://hackmd.io/s/BJPsDklhb) * 比較個別實作的效能差異 * [vasv75182366](https://hackmd.io/s/SynznRDi-) * De Bruijn sequence :::info 對照觀看影片 [ADS1: De Bruijn graphs and Eulerian walks](https://www.youtube.com/watch?v=TNYZZKrjCSk) 應用: 1. [How to apply de Bruijn graphs to genome assembly](https://www.nature.com/nbt/journal/v29/n11/full/nbt.2023.html) 2. [De Bruijn Graph assembly](https://www.cs.jhu.edu/~langmea/resources/lecture_notes/assembly_dbg.pdf) ::: * [ChiuYiTang](https://hackmd.io/s/Skx1vOU2b) * 計算 log2 * Gray-code solution :::info 參見 [《通信原理》第 33 講](http://d0.ananas.chaoxing.com/download/553eed95e4b0199d27056801?fn=&mt=) :::