postfix 'd + 0' nelle espressioni letterali reali Fortran
-
06-09-2019 - |
Domanda
Qualcuno knwow quello che il suffisso " D + 0 " si intende nelle assegnazioni a M1, M2 e M4 sotto o c'è qualche risorsa sul web o un libro in cui si è molto probabile trovare queste informazioni?
subroutine plot( t, x, p, q, nga, nt, wron,
& ngq, gq, ngaq1, ngaq2, gaq, rwh, iwh )
implicit none
integer*4 nga, nt, ngq, ngaq1, ngaq2, iwh(*)
real*8 t, x(*), p(*), q(*), wron(nga,*),
& gq(ngq,*), gaq(ngaq1,ngaq2,*), rwh(*)
real*8 M1, M2, M3, M4, mr, mst, h3, Tc
integer*8 iflag
c DISCRETIZE1( Tc, rwh, iwh )
M1 = 0.1362d+0
M2 = 0.09806d+0
M3 = M1 + M2
M4 = 0.236d+0
mr = M1*x(1) + M2*x(2) + M3*x(3) + M4*x(4)
mst = M1*q(1) + M2*q(2) + M4*q(3)
call mess3( t, x, h3, p, q, rwh, iwh, iflag )
write (10,100) t, x(1), x(2), x(3), x(4), Tc, h3, mr-mst
100 format( e20.10, 7(1x,e20.10) )
end
Soluzione
Significa "doppia precisione" e la +0 mezzi 10 alla potenza zeroth (zero è l'esponente).
Ecco una citazione da primo riferimento sono riuscito a trovare:
Un numero memorizzato in un computer è limitato in grandezza e precisione. I limiti dipendono dal particolare computer. Così, un numero reale ha solo un certo numero di importanti cifre. Se più cifre significative sono richiesto per un calcolo, allora numeri a doppia precisione devono essere utilizzati. Una costante DOPPIO DI PRECISIONE è scritto nella stessa forma esponenziale come singola precisione REALE costante tranne con D anziché una E separazione mantissa dal esponente.
E qui è una citazione da un riferimento migliore, www.fortran.com , in particolare lo standard F77.
4.5.2 Double Precision costante.
Le forme di una doppia precisione costante sono:
- reale costante di base seguita da una doppia precisione esponente
- Integer costante seguito da un doppio esponente di precisione
Il valore di una doppia precisione costante è la prodotto della costante che precede D e la potenza di dieci indicato dal numero intero successivo alla D. parte intera costante di forma (2) può essere scritto con più cifre rispetto a un processore utilizzerà per approssimare la valore della costante.