|
안녕하세요? 매번 도움에 감사드립니다.
회사에 있는 코드를 보다가 이 함수가 이해가 안되어서요...
오버플로우 방지 목적으로 하는거 같은데..눈에 잘 안들어오네요..
매개변수에는 시간을TimeGetTime()을 넣습니다..
설명 부탁드립니다..감사합니다
unsigned long PreventOverflowGetTimeMs(unsigned long precalc)
{
double tmpPrecalc = (double)precalc;
double postcalc = (double)timeGetTime();
if(tmpPrecalc > postcalc) // 증가시간이므로, 이전에 얻은 시간값보다 향후 얻은 시간값이 작으면 오버플로우된 상태다.
{
tmpPrecalc = tmpPrecalc - (double)0x100000000;
}
return (unsigned long)(postcalc - tmpPrecalc);
}
|