我写了一个小程序,在一小时内解决49151数独的任务,但我们不得不计时。我以为我只是让它运行然后检查执行时间,但它说-1536.087 s。我猜它与定时器是一些签名的dataype或其他东西,但我不知道在控制台中使用什么数据类型的定时器(代码::块控制台,我不知道这是否实际上是单独的控制台,或只是从本地操作系统运行终端的跑步者),所以我无法检查实时是什么。我宁愿不在我的程序中使用一些编码计时器再次运行它,因为我现在想再次使用我的电脑。有人知道这次会是什么时候吗?它应该在40到50分钟之间,所以在2400到3000秒之间。
答案 0 :(得分:10)
如果时间以微秒为单位存储在32位带符号的int中,2758880296 us
(微秒)将产生此结果,因为2758880296-2^32 = -1536087000
。在几分钟和几秒钟内,即45:58.880296
。 (用一粒盐来处理那些最后几个小数位,因为大概你打印的是四舍五入到最接近的毫秒)
但是,当然,根据您提供的信息,这只是一个明智的猜测。
答案 1 :(得分:2)
如果你在linux上运行,请使用“time”:
$ time ./your_program
real 0m0.003s
user 0m0.004s
sys 0m0.000s
答案 2 :(得分:2)
我猜46分钟。
假设一个32位有符号整数,表示微秒。
然后-1,536,087,000us将与2,758,880,296us相同,即45:58.880。
但是,有可能会有另一种表现方式在你的范围内给出同样合理的结果。
答案 3 :(得分:0)
我猜测是准确的42分钟(忽略小数并假设12位有符号数据类型)...但这是一个愚蠢的猜测,因为你没有包含任何关于如何检查执行时间的信息。 / p>