看板 C_and_CPP 關於我們 聯絡資訊
※ 引述《a27839579 ()》之銘言: : 各位大大 : 關於float的精度問題 : 課本上說float的精度在小數點後六位,也就是說最小可以表示到0.000001(10^-6) : 但IEEE754的格式,最小的正數如下 : 0 00000000 00000000000000000000000 : 既為1*2^-127 : 其結果化成10進位為2^-127,比10^-6小那麼多 : 是我對精度的理解錯了嗎 : 因為課本上寫是因為IEEE格式小數占了23bit, : 2^23=8388608,比10^6還小,但比10^7大 : 麻煩各位! 因為精確度和最小正數是兩回事 你應該知道浮點數其實就只是二進位的科學記號而已 精確度其實就是科學記號概念當中的有效位數這回事 或者講精確一點就是我在 #1RePAc02 提到的 ulp 這個詞的意思 而最小正數只不過是科學記號的次方數達到最小的數字而已 另外, IEEE754 float 的最小正數不是你那個喔 全部 0 的這個數表示的就是 0.0f 這個浮點數 最小的正規化正數是 0 00000001 00000000000000000000000 即是 2^-126 次方欄位全部 0 的那些是非正規化的數, 表示規則是不一樣的 -- 'You've sort of made up for it tonight,' said Harry. 'Getting the sword. Finishing the Horcrux. Saving my life.' 'That makes me sound a lot cooler then I was,' Ron mumbled. 'Stuff like that always sounds cooler then it really was,' said Harry. 'I've been trying to tell you that for years.' -- Harry Potter and the Deathly Hollows, P.308 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 123.195.194.100 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/C_and_CPP/M.1592690458.A.7F7.html
a27839579: 十分感謝!! 06/23 04:01
k1400: 06/25 11:44