精華區beta Visual_Basic 關於我們 聯絡資訊
我參考王國榮寫的新觀念的Visual Basic 6.0教本 裡面提到在倍精準度 的有效位數是15位 可表示的數值範圍,負數是-1.79E+308~ -4.94E-324 正數是4.94E-324~ 1.79E+308 但是他裡面又教到 5.6*10(-7)<--- -7是次方 和 5.6E-7 數值是相同的,只是表示法不同 正數最大數值範圍為例 1.79E+308 不就等於1.79*10(308)<--308是次方 這樣可以表示的位數至少有308個位數吧,怎麼會是15位呢?? 在這個地方我實在是不懂,希望有人代為解答 感謝,感謝! -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.122.235.8 > -------------------------------------------------------------------------- < 作者: fumizuki (小獅) 看板: Visual_Basic 標題: Re: [請益] VB單精度數和倍精度數的指數問題 時間: Mon Apr 18 11:04:04 2005 15位是指最多只能顯示15個位數,整數部份加上小數部份,共計15位,超過範圍以科學 記號表示法顯示。無窮小數或是整數範圍過大都會捨去多出來的部份。 例如: 正整數 2E+49 = 562949953421312 (15位數,有效範圍內) 2E+50 = 1125899906842624 (16位數,超過有效範圍) 1.12589990684262E+15 (第16位捨去) 浮點數 2E-15 = 0.000030517578125 (小數點後15位數,有效範圍內) 2E-16 = 0.0000152587890625 (小數點後16位數,超過有效範圍) 1.52587890625E-05 (超過有效位數以科學記號表示法顯示) 2E-16 / 3 = 0.000005086263030833333... 5.08626302083333E-06 2E-21 = 4.76837158203125E-07 (超過有效位數以科學記號表示法顯示) (最多整數位+小數位,共計15位) +308、-324 是可儲存的極限值,並不是有效位數。 超出有效位數 15 範圍的數值,可能會因四捨五入而失去精準度。 -- VB 程式設計 倉木麻衣 PTT 星爺板 行列輸入法 ====================================================== Visual_Basic MaiKuraki Stephen Array -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 61.222.155.162 > -------------------------------------------------------------------------- < 作者: LPH66 (p2/LPH66歡迎光臨) 看板: Visual_Basic 標題: Re: [請益] VB單精度數和倍精度數的指數問題 時間: Mon Apr 18 11:02:40 2005 ※ 引述《suekey (N￾ ￾N惽￾ﳿ惽￿︠)》之銘言: : 我參考王國榮寫的新觀念的Visual Basic 6.0教本 : 裡面提到在倍精準度 的有效位數是15位 : 可表示的數值範圍,負數是-1.79E+308~ -4.94E-324 : 正數是4.94E-324~ 1.79E+308 : 但是他裡面又教到 5.6*10(-7)<--- -7是次方 : 和 5.6E-7 數值是相同的,只是表示法不同 : 正數最大數值範圍為例 1.79E+308 不就等於1.79*10(308)<--308是次方 : 這樣可以表示的位數至少有308個位數吧,怎麼會是15位呢?? : 在這個地方我實在是不懂,希望有人代為解答 : 感謝,感謝! 唔 看來你把精確度和指數搞混了 精確度是表示我有幾位有效數字 指數是代表這數是在哪一個位數上 科學上有很多東西也是如此 例如6.022x10^23也不是代表它就是精確到23位 事實上它的精確度只有4位 (我並不是說它沒有表示23位數) -- "LPH" is for "Let Program Heal us".... -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 163.32.78.27