首页 > 编程知识 正文

c语言毫秒计时函数,c语言输出时间下一秒时分秒

时间:2023-05-05 08:46:37 阅读:173476 作者:4837

让你定义一个宏,说出一年有多少秒:

答案如下:

# define seconds _ per _ year 60 * 60 * 24 * 365 (ul )

“这样做的好处是写公式,而不是手工计算,让编译器计算,从而节省脑子。 重点是你还写下结果的出处,条理清晰,便于阅读。 而且,那个UL表示了对你的数据大小的严格”

“切~是你说吗? 谁不知道? ”——看到这个,一定有很多人对这个帖子嗤之以鼻。 你相信这是很多C语言玩家烂了心的一个答案吗?

SECONDS_PER_YEAR以秒为单位每年——秒/年!

那么,一年到底有多少秒?我还改变了提问方法,每年都一样吗? 闰年怎么解决? 众所周知,每四年就有一个闰年。 这还不是全部。 百年除以四百,才能成为闰年。

地球绕太阳转一周,也就是360度的时间,应该是365天6点9分10秒,也就是恒星年。

在地球的某一地点接受2次直射阳光的间隔为365日5时48分46秒(更准确地说是365天5小时48分45.975456秒),是返回年。

如果将一次闰年换算成小数,约为365.2422天。 400年间增加了96.88天,但按4年1次的闰年计算的话,400年间将减少3次,共计97次闰年。 闰年是调节回归年的。 如上所述,闰年的规则必须每4年补一次。 多补一点就少算一点。 如果用恒星年来弥补的话,4年1次的闰年是不够的。 为什么400年内没有三次闰年呢?

看到这里,我相信大家已经有了答案:

# define 365 * 24 * 60 * 605 * 60 * 6048 * 6046 (UL ) /有条理吗? 怎么样,还是用计算器比较好哦~~一定要加文字注释~!

但出乎意料的是,他问的不是恒星年吗? 恒星年定义如下

# define 365 * 24 * 60 * 606 * 60 * 609 * 6010 (ul ) /一定要加上文字注释(~告诉你是恒星年

我们也看到没有什么是那么准确的,按365天5小时48分45.975456秒计算,应该用浮点数

31556925.9754456 (这还不是绝对精度~~~ )

在这个数量中,32位浮点数仍然足够。

怎么样,躺着中枪了吧。 我不会这么简单的c语言。 回到脸的墙上吧。

但是,也有办法。 你告诉他你这次定义的是日历上的非闰年:

# define seconds _ per _ year _ non _ leap _ year 60 * 60 * 24 * 365 (ul ) # define seconds _ per _ year _ leap _ year

隐姓埋名,名曰胡学研

带着你的贞操和逻辑,欢迎认真举起棍子。 转发请注明出处。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。