我想將一些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'運算符。你有Modulus功能的來源嗎? –
我不幸沒有消息來源。我無法弄清楚爲什麼作者寫出了模數,並沒有使用mod。但即使他這樣做,這些都不是整數,所以我不認爲mod是合適的? – user2990129
你可以假設它是'mod'的浮點變體,它將翻譯爲'fmod()',但不要引用我;-)類似地'Frac()'可能只返回小數部分,但真的這是任何人的猜測。如果你沒有所有的源代碼,你不能正確地完成這項工作。 – EJP