Est-il possible d'envoyer des valeurs à virgule flottante double réseau (ajustées pour l'ordre correct des octets bien sûr) et de les utiliser de manière interchangeable sur différentes architectures de processeur, en particulier i386, mips (deux cœurs différents), powerpc (e300, e500). Pas de matériel extrêmement ancien.Double (s) à travers différentes architectures de CPU?
Utilisation de gcc 4.2.1 comme compilateur avec -Os pour toutes les architectures.
Soi-disant il est IEEE-754 norme partout (est?), Mais comme wikipedia dit:
L'IEEE 754-1985 permis à de nombreuses variations dans les implémentations (telles que le codage de certaines valeurs et la détection de certaines exceptions). IEEE 754-2008 en a resserré beaucoup, mais il reste encore quelques variantes (en particulier pour les formats binaires).
Je n'ai pas l'intention de passer autour de NaNs ou d'autres choses spéciales, juste des nombres décimaux valides.
Quel est le problème avec le texte? –
Si vous évitez le texte pour des raisons de performances, vous pouvez consulter les tampons de protocole: http://code.google.com/p/protobuf/ Ils traitent les problèmes endian, l'alignement (par opposition à l'envoi d'une structure de données C) , etc. Ils utilisent des nombres à virgule flottante, en supposant que l'expéditeur et le destinataire sont conformes à la norme IEEE-754. – KeyserSoze