صفحه 1 از 1

خطای محاسباتی فرترن

ارسال شده: جمعه ۱۴۰۰/۲/۱۷ - ۱۶:۱۹
توسط abdossamad.2003
با سلام خدمت دوستان
من شروع به یادگیری فرترن کردم ولی احساس می کنم gfortran در محاسبات اشتباه می کند مثلا ساده ترین محاسبه مانند sin(30.1)


program test
implicit none
real a
real(16) b
a = 30.1
b = 30.1
print*, sin(a), sin(b)
end program test


بعد از کامپایل کردن با gfortran و نتیجه:
کد: [انتخاب]

0.967696011- -0.967696035957813552903034493563998654


اگر با ماشین حساب یا برنامه اکسل محاسبه کنیم:



0.967696132133805-
مشخص است که نتیجه از رقم ۷ به بعد کاملا متفاوت است و نمی توان به خطای گردکردن استناد کرد یعنی فرترن اشتباه می کند!!