postfix 'd + 0' in Fortran realen wörtliche Ausdrücke
-
06-09-2019 - |
Frage
Hat jemand knwow was die Postfix „ d + 0 “ bedeutet in den Zuordnungen zu M1, M2 und M4 unten oder gibt es eine Ressource auf dem Netz oder ein Buch, in dem man sehr wahrscheinlich ist, finden diese Informationen?
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
Lösung
Es bedeutet "double precision" und die 0 bedeutet 10 bis nullten Leistung (Null ist der Exponent).
Hier ist ein Zitat von erster Referenz ich finden konnte:
Eine Zahl in einem Computer gespeichert ist in der Größe und Präzision beschränkt. Die Grenzen hängen von der jeweiligen Computer. Somit hat eine reelle Zahl nur eine bestimmte Anzahl von signifikanten Ziffern. Wenn mehr signifikante Stellen sind für eine Berechnung erforderlich ist, dann DOUBLE PRECISION-Nummern verwendet werden. A DOUBLE PRECISION Konstante geschrieben in der gleichen Form als exponentiellen einfache Genauigkeit REAL Konstante außer mit einem D anstelle einer E Trennung die Mantisse vom Exponenten.
Und hier ist ein Zitat aus einer besseren Referenz, www.fortran.com , insbesondere der F77-Standard.
4.5.2 doppelt genaue Konstante.
Die Formen einer mit doppelter Genauigkeit konstant sind:
- Grund reelle Konstante durch eine doppelte Genauigkeit gefolgt Exponent
- Integer Konstante, gefolgt von ein doppelter Genauigkeit Exponent
Der Wert Konstante einer doppelten Genauigkeit ist die Produkt der Konstanten, die vorangeht die D und die Kraft von zehn angegebenen mit der ganzen Zahl nach dem D. Des ganzzahlige Konstante Teil (2) bilden kann mit mehr Stellen als eine geschrieben werden Prozessor zur Annäherung verwendet die Wert der Konstante.