→ leslieha: 我是先看成 *buf_p++ = (((j)+1) << 8) | (j); 03/10 17:20
推 springman: *buf_p = ((i%128)*2+1)*256+(i%128)*2 + 1; 03/10 17:20
→ springman: 只是我也不知它要做什麼。 03/10 17:21
→ leslieha: 若buf_p是unsigned short *, 我猜是給初始值/測試值 03/10 17:24
→ leslieha: 語意 可能只有撰寫者才知道 或要看上下幾行code 03/10 17:25
→ Killercat: 這個只是把i處理一下的結果丟進16bit的上下兩組位元 03/10 18:07
→ Killercat: 很常見的一個數組切成兩半來存資料的方法而已 03/10 18:07
※ 編輯: wayne78117 (140.120.31.127), 03/10/2015 20:20:35
推 LPH66: 這整個迴圈是個老式的 partial loop unrolling 03/10 21:03
→ LPH66: 若機器是 little-endian 且 ppduBuf 跟 hdrBuf 原先都是 03/10 21:04
→ LPH66: 字元陣列的話, 迴圈執行完這個字元陣列會由 0 1 2 ... 255 03/10 21:04
→ LPH66: 重覆填入, 看起來像是在設定什麼初始值的樣子 03/10 21:05
→ LPH66: 不直接迴圈填字元的原因可能跟機器結構有關 03/10 21:05
→ LPH66: 一次填 16-bit 可能會比兩次填 8-bit 來的快 03/10 21:06
推 CaptainH: 樓上專業 03/11 08:50