Re: [閒聊] 寫程式真的這麼邪門嗎?
※ 引述 《SkyPlus (Sky)》 之銘言:
: https://liuslog.wordpress.com/2014/06/20/0x5f3759df/
:
: 1/sqrt(x) 用神秘的數字y=0x5f3759df 帶入:
:
: y+y*(1.5-(x*y^2)/2) 後直接算出來
:
針對inverse square root
其實回覆提供的文章沒有很好的解釋神秘數字的由來
https://youtu.be/p8u_k2LIZyo
我認為這部影片講解得很清楚
簡單來說是利用浮點數bit representation與log base 2近似的特性
直接把bit representation當log處理
神秘數字則是轉換過程留下的常數
所以後面只需要一次牛頓插值法就能把誤差壓到1%
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 101.9.196.44 (臺灣)
※ 文章網址: https://www.ptt.cc/bbs/C_Chat/M.1674727833.A.D8C.html
推
01/26 18:21,
1年前
, 1F
01/26 18:21, 1F
推
01/26 18:23,
1年前
, 2F
01/26 18:23, 2F
推
01/26 18:27,
1年前
, 3F
01/26 18:27, 3F
→
01/26 18:30,
1年前
, 4F
01/26 18:30, 4F
推
01/26 18:31,
1年前
, 5F
01/26 18:31, 5F
→
01/26 18:31,
1年前
, 6F
01/26 18:31, 6F
→
01/26 18:32,
1年前
, 7F
01/26 18:32, 7F
→
01/26 18:32,
1年前
, 8F
01/26 18:32, 8F
→
01/26 19:29,
1年前
, 9F
01/26 19:29, 9F
討論串 (同標題文章)