Re: [問題] 有關最大位數及其精度

看板Fortran作者 (sjgau)時間14年前 (2010/09/21 11:07), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串2/2 (看更多)
implicit none 上面的這行指令的意思是,每一個變數 在使用之前都要事先宣告。 底下有對照,你的程式 A1D4, 要改成 A1*1.0D4 你再試試看 program VF1055 implicit none REAL*8 N,NI,A1,A2 N=0.9988 NI=0.8777 A1=N/NI ! A2=-11.033*A1D4 +83.507*A1D3 -246.59*A1D2 +348.69*A1-281.23 A2=-11.033*A1*1.0D4+83.507*A1*1.0D3-246.59*A1*1.0D2+348.69*A1-281.23 WRITE(*,*) A1,' ',A2 end program VF1055 ! ----------------------------------------------------------------------------- !dec$if (.false.) 1.13797426508089 -58469.6160667529 Hello World at 10:57 Press any key to continue ! ----------------------------------------------------------------------------- --------------------Configuration: VF1055 - Win32 Debug-------------------- Compiling Fortran... D:\VF1055\VF1055.f90 D:\VF1055\VF1055.f90(26) : Error: This name does not have a type, and must have an explicit type. [A1D4] A2=-11.033*A1D4+83.507*A1D3-246.59*A1D2+348.69*A1-281.23 -----------------^ D:\VF1055\VF1055.f90(26) : Error: This name does not have a type, and must have an explicit type. [A1D3] A2=-11.033*A1D4+83.507*A1D3-246.59*A1D2+348.69*A1-281.23 -----------------------------^ D:\VF1055\VF1055.f90(26) : Error: This name does not have a type, and must have an explicit type. [A1D2] A2=-11.033*A1D4+83.507*A1D3-246.59*A1D2+348.69*A1-281.23 -----------------------------------------^ Error executing df.exe. VF1055.exe - 3 error(s), 0 warning(s) !dec$endif ※ 引述《randomno (隨便)》之銘言: : 請問各位先進 : PROGRAM CAL : REAL*8 N,NI,A1,A2 : N=0.9988 : NI=0.8777 : A1=N/NI : A2=-11.033*A1D4+83.507*A1D3-246.59*A1D2+348.69*A1-281.23 : WRITE(*,*) A1,' ',A2 : STOP : END : 這是程式簡化出來的一部份 : 有關A2的運算 : 經過程式計算出來的值是115.570237291540 : 但是用計算機算出來的值是-99.20147809 : 請問這個問題是跟精度有關嗎? : 我該如何解決這個問題? -- e-mail: sjgau4311@gmail.com 我的課程介紹網頁: http://www.csie.ntu.edu.tw/train/teacher_display.php?num=18 AutoCAD 台灣地區菁英講師獲選 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 61.20.191.193
文章代碼(AID): #1Cc25omW (Fortran)
文章代碼(AID): #1Cc25omW (Fortran)