постфикс 'd + 0' в буквальном выражении Фортрана - PullRequest
2 голосов
/ 27 мая 2009

Кто-нибудь знает, что означает постфикс " d + 0 " в заданиях для M1, M2 и M4 ниже, или есть какой-нибудь ресурс в Интернете или книга, где кто-то может найти это информация


      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

1 Ответ

9 голосов
/ 27 мая 2009

Это означает «двойную точность», а +0 означает 10 к нулевой степени (ноль - показатель степени).

Вот цитата из Первая ссылка Я мог бы найти:

Число, хранящееся на компьютере: ограничен по величине и точности. Пределы зависят от конкретного компьютер. Таким образом, РЕАЛЬНЫЙ номер имеет только определенное количество значимых цифры. Если более значимые цифры требуется для расчета, тогда ДВОЙНЫЕ ТОЧНЫЕ ЦИФРЫ должны быть использованы. Константа ДВОЙНОЙ ТОЧНОСТИ записывается в той же экспоненциальной форме, как константа REAL одинарной точности, кроме с D вместо E, разделяющей мантисса из показателя.

А вот цитата из лучшего справочника www.fortran.com , в частности стандарта F77.

4.5.2 Константа двойной точности.

Формы двойной точности константа:

  1. Базовая вещественная постоянная с двойной точностью показатель
  2. Целочисленная константа с последующим показатель двойной точности

значение константы двойной точности является произведение постоянной, предшествующей D и сила десяти указано по целому числу после D. целочисленная постоянная часть формы (2) может быть написано с большим количеством цифр, чем процессор будет использовать для приближения значение константы.

...