读书人

请问:能给小弟我解释这段程序吗?多谢

发布时间: 2012-02-23 22:01:34 作者: rapoo

请教:各位大哥能给我解释这段程序吗?谢谢!
请教:
#ifdef __BORLANDC__
#define floorf (float)floor
#define sqrtf (float)sqrt
#endif

time=GetTime();
bool RenderFunc()
{
int hrs, mins, secs; //hrs 速度 mins 毫秒 secs 秒
float tmp; //不知道是什么

// Calculate display time

hrs=(int)floorf(time); //得到时间值为 浮点数
tmp=(time-hrs)*60.0f; //这里不知道是什么
mins=(int)floorf(tmp); //这里不知道是什么
secs=(int)floorf((tmp-mins)*60.0f); //这里不知道是什么
}


请教:
问题1:
floor 这个函数的功能是什么啊?

举个例子,好吗?

问题2:
hrs=(int)floorf(time);

这样做有什么用啊?
hrs 和 time 的值相等吗?

问题3:
tmp=(time-hrs)*60.0f;
这里是什么意思?
time 的值一定大于 hrs 吗?

问题4:
mins=(int)floorf(tmp); //这里不知道是什么
这句话是什么意思?

问题5:
secs=(int)floorf((tmp-mins)*60.0f); //这里不知道是什么
这句话是什么意思?


谢谢!


[解决办法]

floor 向下舍入,比如:double a=123.54; 则 floor(a)的值为 123

[解决办法]
tmp=(time-hrs)*60.0f;

就是数学运算 60.0f就是六十
tmp的值是 time减去hrs后再乘以60.0
具体大小未定

问题2和4是一个问题
5也是同一问题

只要记住凡是出现floorf你就给他换成(float)float,然后重写下程序看看


[解决办法]
俺也学习一下。没用过这个函数。studying...

读书人网 >C语言

热点推荐