Я пытаюсь перевести код Pascal в код C++. Я застреваю, пытаясь понять, как перевести эту часть.Модуль в Pascal
Function ThetaG_JD(jd : double) : double;
var
UT,TU,GMST : double;
begin
**UT := Frac(jd + 0.5);**
jd := jd - UT;
TU := (jd - 2451545.0)/36525;
GMST := 24110.54841 + TU * (8640184.812866 + TU * (0.093104 - TU * 6.2E-6));
**GMST := Modulus(GMST + 86400.0*1.00273790934*UT,86400.0);**
ThetaG_JD := twopi * GMST/86400.0;
end; {Function ThetaG_JD}
У меня возникли проблемы с двумя строками, которые я сделал полужирным. Как я могу перевести это на C++? Огромное спасибо.
Это, как представляется, быть вызовом функции, поскольку модуль в Pascal является оператором MOD. У вас есть источник функции модуля? –
У меня, к сожалению, нет источника. Я не могу понять, почему автор написал модуль и не просто использовал мод. Но даже если бы он это сделал, это не целые числа, поэтому я не думаю, что мода подходит? – user2990129
Вы можете предположить, что это вариант с плавающей запятой 'mod', который будет переводиться как' fmod() ', но не цитируйте меня ;-) Аналогично,' Frac() ', вероятно, возвращает только дробную часть, но на самом деле это чья-то догадка. Если у вас нет всего исходного кода, вы не сможете выполнить эту работу должным образом. – EJP