endian-ness de nouveaux mac - sont toutes les plateformes pc, la même chose maintenant?
Le changement de macs à processeurs Intel que l'on fait avec le peu tourner sur les nombres en binaire ressources pour la croix-plate-forme de données de distributions?
Est que la dernière de ce problème ou il y en a d'autres plates-formes, je ne suis pas au courant?
OriginalL'auteur Jeff | 2008-09-17
Vous devez vous connecter pour publier un commentaire.
Vous semblez oublier l'endianness transcende les architectures de processeur. Il existe beaucoup d'algorithmes et de protocoles que la demande d'un particulier d'ordre des octets. Par exemple, j'ai passé deux semaines à essayer d'obtenir un algorithme de hachage MD5 de travail, seulement pour réaliser que j'avais supposé réseau d'ordre des octets (Big Endian), tandis que Ronald Rivest avait supposé (sans le disant dans la RFC) que le réalisateur aurait Little Endian ordre des octets.
Me rappeler de mal que l'homme de temps en temps. 😛
En mettant de côté que vous répondez à un commentaire de plus d'une décennie il ya, je pense que vous et moi ont des définitions différentes du mot "minutieusement". Dans mon esprit, "minutieusement" est en cours par le biais d'un sujet en détail. Pas un lâche définition au début d'un document qui évite d'utiliser le terme "endian". 😉
OriginalL'auteur 64BitBob
Bien, en fait, il ya beaucoup de big endian Cpu.
Fait le PPC n'est pas mort. Vous le savez, que la Xbox360 utilise des Processeurs PPC (et c'est un bon exemple, que ces Processeurs ne sont pas aussi mauvais que leur réputation - la Xbox360 est rien mais lent). Ok, ce que l'on ne peut compter qu'un PC.
Mais un nombre de serveurs qu'un PC? Il y a encore beaucoup de serveurs à l'aide de Sun UltraSparc Processeurs, qui sont généralement en big endian, bien que les derniers modèles peuvent être soit grand ou petit-boutiste. Il y a beaucoup de Processeurs qui peuvent être soit l'un ou l'autre (par exemple, le BRAS, encore utilisés dans de nombreux appareils comme les téléphones mobiles et autres), participe à la fois ajoute une plus grande flexibilité pour le matériel et les fournisseurs de logiciels. Même les IA64 Processeurs (le Intanium, qui était destiné à remplacer x86 avant d'AMD inventé x86-64, c'était vrai 64 bits et ne pouvait émuler 32 bits, à la différence de x86-64 qui peut être à la fois) est l'un des Processeurs qui peuvent être passés à big endian. Processeurs qui peuvent être toutes deux sont appelées bi-endian.
En fait, si vous ignorez Intel (et les Processeurs compatibles) pour une seconde, la plupart des Processeurs sur le marché sont soit en big endian ou au moins bi-endian, bien que la plupart de ces ne sont pas utilisés de la consommation des Pc autant que je sache.
Cependant, je ne vois pas endian problème que beaucoup de programmeurs faire. Tous les CPU de swap-boutiste dans le matériel. En fait, si vous voulez écrire un programme sur un little endian CPU Intel, qui swaps endianess de chaque nombre entier lecture de la mémoire et de nouveau lors de l'écriture de revenir à la mémoire, cela fera peut-être une dégradation de la performance d'aussi peu que 5%; et, dans la pratique, vous avez seulement besoin de swap endianess pour les données entrantes et sortantes de votre application, comme au sein de votre application, l'endianess est constante, bien sûr.
À noter également:
Presque tous les protocoles réseau, je sais spécifier l'ordre des octets pour être en big endian, TCP/IP le plus familier de la famille. Donc, si vous travaillez sur la partie inférieure des couches réseau, vous aurez toujours à poursuivre l'échange octets.
Pour info, la Xbox 360 est en cours d'exécution de son PROCESSEUR PPC en little endian mode.
OriginalL'auteur Mecki
Ce n'est certainement pas le dernier de ce problème, en particulier si vous écrivez pour les systèmes embarqués, y compris les Pocket Pc, etc. MIPS, ARM, et d'autres architectures support bi-endian architectures qui peuvent sélectionner leurs endian-ness sur le démarrage du système.
Si vous écrivez du code qui dépend de l'octet de commande, vous devez vous préoccuper de endian-ness. Ne pas s'attendre à ce "problème" s'en aller de sitôt.
OriginalL'auteur Nick Monkman
Je pensais la même question: depuis que les Mac sont maintenant Intel, est le endian question morts? Nope. Hormis certaines supercalculateurs (qui, avouons-le, nous se-folk n'aurez jamais à traiter), il est encore l'un des principaux domaines où big-endian commande est utilisée: protocoles réseau, en particulier: l'adresse de Protocole Internet (comme dans: "IP" de TCP/IP).
OriginalL'auteur Dinah
Satanés x86 de salir mon registres de mémoire avec leur segment des pointeurs! 😉
Je crois que vous n'avez pas besoin de tourner les mots, entre les Pc et les Mac plus, en supposant que vous êtes en évitant rétro-compatibilité avec les processeurs PowerPC.
OriginalL'auteur Kevin Conner
Maintenant, plus que jamais, une personne principal de l'ordinateur est moins susceptible d'être un deskop ordinateur exécutant un système d'exploitation. C'est tout de même assez fréquent, beaucoup d'autres gens sont à l'aide de smartphones ou un umpc les appareils qui sont construits à cet effet, c'est à dire pour la navigation sur le web. Ces plates-formes ne pas nécessairement avoir les processeurs x86. Le plus souvent, surtout avec des appareils intelligents, ils sont à l'aide d'un BRAS de base, qui est en big endian.
OriginalL'auteur SingleNegationElimination
Définir PC, que pensez-vous d'un PC?
Je suis actuellement en train de taper ceci à partir d'une distribution de Linux qui est en cours d'exécution sur un processeur arm 9, qui peut être mis en différentes endianness, mais la valeur par défaut est big endian. Little endian est utilisé par Intel, AMD et Via (x86 compatible).
Endian-ness ne vont pas disparaître de si tôt, à tout moment vous transmettre quoi que ce soit sur le réseau, vous devez vous assurer qu'il est dans le droit de l'endianness, depuis le endian spécifié par le Protocole Internet est en fait big-endian.
Voir le Article de wikipédia sur l'Endianness pour plus d'informations.
OriginalL'auteur X-Istence