🌗 「strtod」莫測高深!
➤ 關於浮點數轉換及任意精度算術的觀念。
https://festina-lente-productions.com/articles/strtod-is-wild/
「strtod」是 C 標準庫中一個看似無辜的函數,接受十進位表示的數字,如「10.35」,返回最接近的浮點二進位數(雙精度 C 類型)。然而,實現 100% 正確性其實相當困難,需使用任意精度算術。路程頗為艱辛,優秀的現代實現包括 Grisu 算法和 fast_float 等。創建者如 David M. Gay 在上世紀已為此做出貢獻,其代碼龐大且需處理大量記憶體,不過在一些實現中也沒有過多的記憶體分配。加強版本甚至能無縫處理無限縮放,類似於處理任意精度數字。
+ 有趣的文章,我對任意精度算術有了更深入的瞭解。
+ 讀起來很有挑戰性,實現這樣的函數確實不簡單。
#數字轉換 #精度 #浮點數 #二進位 #十進位
strtod Is Wild!

Example article format