[問題] 測量時間,時間overflow的問題

看板C_and_CPP作者 (甜小蜜)時間9年前 (2016/08/15 23:35), 編輯推噓4(406)
留言10則, 3人參與, 最新討論串1/1
請教各位大大,在windows下,以QueryPerformanceCounter測量時間,有overflow的現象 ,請教該如何避免這個問題? 謝謝 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 1.169.246.229 ※ 文章網址: https://www.ptt.cc/bbs/C_and_CPP/M.1471275340.A.D84.html

08/16 00:48, , 1F
你測多久時間讓 QPC overflow?!
08/16 00:48, 1F

08/16 00:48, , 2F
QPC 回傳 64-bit 數值喔
08/16 00:48, 2F

08/16 00:49, , 3F
你如果丟一個 32-bit 變數位址進 QPC 給他存是錯的
08/16 00:49, 3F

08/16 22:07, , 4F
感謝您的回覆,我是用64位元宣告;用QueryPerformanc
08/16 22:07, 4F

08/16 22:07, , 5F
eCounter取的值經常是負的
08/16 22:07, 5F

08/16 22:34, , 6F
你怎麼知道它是負的? 是 printf 印還是 if(x < 0) 比較?
08/16 22:34, 6F

08/18 22:54, , 7F
Print出來看的, %2.2lf,這樣印的
08/18 22:54, 7F

08/19 01:14, , 8F
lf 就錯了, 那是 64-bit 整數不是浮點數
08/19 01:14, 8F

08/19 01:14, , 9F
lld 才是印 64-bit 整數的格式字串
08/19 01:14, 9F

08/20 02:03, , 10F
如果VC編譯器太舊會不支援 %lld 得改用 %I64d
08/20 02:03, 10F
文章代碼(AID): #1NiU5Cs4 (C_and_CPP)