2012-06-27 10 views
0

Je travaille sur un système embarqué. Notre plate-forme a 32 bits, donc la taille de time_t est de 32 bits. Pour l'instant, je veux envoyer une struct à Windows 7 Computer en tant que tableau char. L'un des champs de Ma structure est time_t. Je ne peux pas changer struct. Donc, je dois envoyer une valeur de temps à Windows Machine avec une variable de 32 bits et quand le tableau de caractères est arrivé, je dois convertir la valeur int non signée de 32 bits en time_t de 64 bits.Comment convertir la valeur 32 bits time_t en 64 bits time_t

Je pense que je ne peux pas convertir directement 32 bits entiers en 64 bits time_t. Parce que 32 bits time_t commence à partir de l'année 1970, mais 64 bits commencent à partir de l'année 1600.

Alors Y at-il un moyen de conversion?

Merci.

+1

[https://www.google.se/search?sugexp=chrome,mod=3&sourceid=chrome&ie=UTF-8&q=How+to+convert+32+bit+time+t+value+à+64+bit+ time_t] (google) votre propre titre :-) –

+0

Je pense que cela pourrait vous aider .. http://stackoverflow.com/questions/2467418/portable-way-to-deal-with-64-32-bit- time-t – khushalbokadey

Répondre

0

La précision, c'est-à-dire l'unité, est-elle la même (secondes)? Si c'est le cas, vous devriez pouvoir convertir le plus grand nombre en soustrayant la différence et en tronquant à 32 bits.

Le calcul du nombre requis de secondes peut-être un peu délicat ... J'ai essayé Wolfram Alpha mais je ne sais pas comment obtenir une réponse plus précise que « 1.168 * 10 10 secondes ».

+0

'J'ai essayé Wolfram Alpha mais je ne sais pas comment obtenir une réponse plus précise que" 1.168 * 1010 secondes ". Je sais ce que tu veux dire. J'ai essayé d'utiliser AccountingForm, mais cela n'a pas fonctionné. Et curieusement, il ne semble pas y avoir d'informations sur [empêcher la notation scientifique] (https://www.google.com/search?q=prevent+wolfram+alpha+scientific+notation) ou [contrôler le format des nombres de Résultats de WA] (https://www.google.com/search?q=wolfram+alpha+results+number+format). Je suppose que ce n'est pas assez populaire pour obtenir ce genre d'attention. – Synetech

Questions connexes