Register Blogs Members List Search Today's Posts Mark Forums Read

 March 5, 2012, 04:03 Simple question about Fortran #1 New Member   DJChoi Join Date: Jan 2012 Posts: 8 Rep Power: 7 Sponsored Links Followings are fortran programming. implicit none real(8) :: a=0.78 print *,a end ---> a=0.779999971389 I think a should be "0.7800000000...". But there is some difference with exact a. I would like to know what the problem is... Thanks.

 March 5, 2012, 04:16 #2 New Member   Join Date: Mar 2012 Posts: 8 Rep Power: 7 If you write a floating point number in Fortran, it assumes that the number has single precision. If you assign this number to a double precision value, the additional digits are filled up with random values. So you should add an underscore and the desired precision the each number which is directly coded in your program. For example: program test implicit none ! this is equivalent to a = 0.78_4 real(8) :: a = 0.78 ! this is better real(8) :: b = 0.78_8 print*,a print*,b end program test Output: 0.77999997138977051 0.78000000000000003 The small difference in the last number is due to fact that not all decimal fractions may be described by IEEE floating point number exactly. There's always a relative difference of approx 2**(-52) which relates to the number of bits of the mantisse. In order to handle the precisions in Fortran in a flexible way, I suggest defining a parameter for each precision in use, i.e. program test2 implicit none integer, parameter :: rp = 8 real(kind=rp) :: a = 0.78_rp print*,a end program test2

 March 5, 2012, 06:11 Thank-you #3 New Member   DJChoi Join Date: Jan 2012 Posts: 8 Rep Power: 7 Thank-you for your answer.

 Thread Tools Display Modes Linear Mode

 Posting Rules You may not post new threads You may not post replies You may not post attachments You may not edit your posts BB code is On Smilies are On [IMG] code is On HTML code is OffTrackbacks are On Pingbacks are On Refbacks are On Forum Rules

 Similar Threads Thread Thread Starter Forum Replies Last Post Florian2 Main CFD Forum 10 November 17, 2011 17:48 hornig Main CFD Forum 0 November 10, 2011 17:17 Vashishth Patel CFX 10 November 8, 2011 05:26 rick Main CFD Forum 45 September 6, 2011 00:52 judderod Main CFD Forum 8 August 5, 2011 11:05