Re: [問題] timespec 相減

看板C_and_CPP (C/C++)作者 (朴髮箍)時間15年前 (2011/05/05 03:43), 編輯推噓2(200)
留言2則, 2人參與, 最新討論串2/2 (看更多)
※ 引述《sonic010739 (sonic)》之銘言: : timespec的資料結構如下 : struct timespec : { : time_t tv_sec; /* seconds * : long tv_nsec; /* nanoseconds * : } : struct timespec a = {0, 800000000}; : struct timespec b = {1, 200000000}; : 兩個timespec運算 要考慮的部分太多 : 請問要如何以簡單的方法計算出 a - b = -0.4 而不是 -1.6 試著組合一下: 0 800000000 (兩個整數) ↘   ↙ 0.800000000 (一個浮點數) 同理從 b 也可以生出浮點數 1.2, 這一切都可以靠 sprintf/ sscanf 來達成: char buffer[40]; sprintf( buffer, "%zu.%09ld %zu.%09ld", a.tv_sec, a.tv_nsec, b.tv_sec, b.tv_nsec ); float value_of_a, value_of_b; sscanf( buffer, "%f %f", &value_of_a, &value_of_b ); printf( "%.1f", value_of_a - value_of_b ); 搞定. 非常無腦的方法, 應該夠簡單了吧? Orz -- ▂▂ ▄▂ T.T.L Listen 2 http://ppt.cc/jIUk ˇ ˇˇ ˇ 說什麼結束 ▃▃ http://ppt.cc/zQtB ψ髮箍 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.121.197.115

05/05 08:40, , 1F
tv_sec + tv_nsec/1000000000.0 就好了吧?XD
05/05 08:40, 1F
我也是覺得樓上這樣做就好了... ※ 編輯: loveme00835 來自: 140.121.197.115 (05/05 10:40)

05/05 19:23, , 2F
上一篇提過了 轉long longXD (tv_sec*1000000000 + tv_nse)
05/05 19:23, 2F
文章代碼(AID): #1DmQnR7Z (C_and_CPP)
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 2 之 2 篇):
文章代碼(AID): #1DmQnR7Z (C_and_CPP)