【问题标题】:How do I double timeval in C? [closed]如何在 C 中加倍 timeval? [关闭]
【发布时间】:2021-03-25 15:03:46
【问题描述】:

我是 C 的新手,我有以下代码,我想将时间加倍,我该怎么做?

#include <time.h>

struct timeval t ={1, 10000}; 

while(1){
    //some code to use timeval 
    Here I need to double the timeval. Meaning if the timeval was 1.1 seconds, I need to make t = 2.2
    seconds. 
}

【问题讨论】:

  • 1.1 的双倍是 2.2,而不是 2.1。除了吹毛求疵,你试过什么?您的尝试是如何奏效的?
  • 我会解决这个问题。我试图将微秒加倍,但事实证明它在一段时间后崩溃,可能是因为它达到了长限制。这肯定不是最好的方法。
  • 告诉我们你做了什么导致崩溃。您不应该遇到溢出问题。
  • 如果第二个成员的计数为 1/100,000 秒,则 1, 10000 将是 1.1 秒。当然 OP 想要1, 100000

标签: c time.h timeval


【解决方案1】:

您需要将微秒和秒都加倍

然后您需要检查微秒是否溢出(如果它大于一百万),在这种情况下,您需要再增加一秒并从微秒中减去一“秒”。

【讨论】:

    猜你喜欢
    • 2015-12-04
    • 1970-01-01
    • 1970-01-01
    • 2017-09-15
    • 1970-01-01
    • 1970-01-01
    • 2015-09-25
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多