2012-06-27 104 views
0

我正在研究嵌入式系統。我們的平臺是32位,所以time_t的大小是32位。 現在我想發送一個結構到Windows 7計算機作爲字符數組。 我的結構的字段之一是time_t。 我不能改變結構。如何將32位time_t值轉換爲64位time_t

所以我一定的時間值發送到Windows機器有32位變量,當字符數組到來,我必須32位無符號整型值轉換爲64位的time_t。

我想我不能直接將32位整數轉換爲64位time_t。 因爲32位的time_t從1970年開始,但64位,從去年開始1600

那麼,有沒有辦法轉換?

謝謝。

+1

[https://www.google.se/search?sugexp=chrome,mod=3&sourceid=chrome&ie=UTF-8&q=How+to+convert+32+bit+time_t+value+to+64+bit+ time_t的(谷歌)自己的標題:-) –

+0

我想這可能會幫助你.. http://stackoverflow.com/questions/2467418/portable-way-to-deal-with-64-32-bit- time-t – khushalbokadey

回答

0

精度,即單位是否一樣(秒)?如果是這樣,那麼你應該能夠通過減去差值並截斷爲32位來轉換較大的數字。

計算所需的秒數可能是一個有點棘手。我試過Wolfram Alpha,但我不知道怎麼去比「1.168×10 秒」更精確的答案。

+0

'我試過Wolfram Alpha,但我不知道如何得到比「1.168 * 1010秒」更準確的答案。「我知道你的意思。我嘗試使用AccountingForm,但沒有奏效。奇怪的是,似乎沒有任何有關[防止科學記數法](https://www.google.com/search?q=prevent+wolfram+alpha+scientific+notation)或[控制數字格式WA的結果](https://www.google.com/search?q=wolfram+alpha+results+number+format)。我想這只是不夠受歡迎,得不到這種關注。 – Synetech