[問題]real*8的有效位數

看板Fortran作者 (花次郎)時間13年前 (2011/08/17 14:54), 編輯推噓3(301)
留言4則, 4人參與, 最新討論串1/1
請問一下 我想測試雙精準數的有效位數是否如書上所說的15~16位 因此宣告了一個變數 real*8 a a=1.234567890123456789 compile後執行 卻得到a=1.23456788063049(用ifort) a=1.2345678806304932(用gfortran) 換過其他數字後有效位數也沒有比較多 請問問題出在那? 謝謝 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.109.105.83

08/17 15:47, , 1F
a=1.234567890123456789d0
08/17 15:47, 1F

08/17 16:12, , 2F
那之前的宣告沒有效果嗎?
08/17 16:12, 2F

08/17 16:22, , 3F
之前的設定值是被判斷成real*4的數字再轉成real*8
08/17 16:22, 3F

08/17 17:47, , 4F
應該加上d0才是倍精確度。
08/17 17:47, 4F
文章代碼(AID): #1EIsMVG4 (Fortran)
文章代碼(AID): #1EIsMVG4 (Fortran)