[問題] timespec 相減

看板C_and_CPP (C/C++)作者 (sonic)時間15年前 (2011/05/04 20:36), 編輯推噓3(305)
留言8則, 3人參與, 最新討論串1/2 (看更多)
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 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 211.22.55.199

05/04 21:28, , 1F
轉 long long 相減?
05/04 21:28, 1F

05/04 21:47, , 2F
不對....這兩個變數的單位不是 2^32 倍而是 10^9 倍
05/04 21:47, 2F

05/04 21:48, , 3F
其實 -1 和 600000000 的答案是對的沒錯
05/04 21:48, 3F

05/04 21:49, , 4F
只不過意義是 -1 sec + 600000000 nsec
05/04 21:49, 4F

05/04 21:49, , 5F
也就是 -1 + 0.6 = -0.4
05/04 21:49, 5F

05/04 22:07, , 6F
感謝LPH66 我大概想到比較簡單的解法了~
05/04 22:07, 6F

05/04 22:07, , 7F
我這邊的習慣會全轉成 nsec 來做, 直覺, 只是步驟多一點XD
05/04 22:07, 7F

05/04 22:08, , 8F
不過 LPH 先進這招也不錯 學到一個新方法
05/04 22:08, 8F
文章代碼(AID): #1DmKXfwq (C_and_CPP)
討論串 (同標題文章)
文章代碼(AID): #1DmKXfwq (C_and_CPP)