Little Endian vs Big Endian?
Je vais avoir des ennuis enveloppant ma tête sur les deux. Je comprends comment représenter quelque chose en big endian.
Par exemple -12 est 1111 1111 1111 0100
Mais pourquoi le little endian représentation 1111 0100 1111 1111 au lieu de 0100 1111 1111 1111?
Merci vous êtes les meilleurs
Je vais jeter ce pour les nouvelles personnes: betterexplained.com/articles/...
Je vais jeter ce pour les nouvelles personnes: betterexplained.com/articles/...
OriginalL'auteur Clinton Jooooones | 2014-02-26
Vous devez vous connecter pour publier un commentaire.
Endianness est d'environ adresse de l'octet de commande. Little endian signifie que la baisse significative des octets obtient l'adresse inférieure. Big endian signifie l'inverse. C'est donc sur les octets (8 bits morceaux) de ne pas grignoter (4 bits morceaux). La plupart des ordinateurs que nous utilisons (il existe quelques exceptions) octets d'adresse à l'adresse unique de niveau.
Prendre le
-12
exemple:Little endian, dans la mémoire, ce serait:
Big endian, dans la mémoire, ce serait:
non, le fait que c'est une pile n'est pas pertinent si vous de suivre les "règles" de l'adresse de l'ordre dans la définition de l'endianness. La pile ne change pas ce que j'indique dans ma réponse. Une pile normalement pousse "vers le bas" (lorsque vous appuyez sur une valeur sur la pile, il se dirige vers le côté inférieur de l'adresse). Donc, comme vous pousser octets sur la pile, par exemple, ils ont moins de adresses. Si, par exemple, vous voulez pousser
FF F4
sur la pile (la valeur de -12 en entiers de 16 bits), et il est en little endian, puis vous poussezFF
premier, suivi par leF4
parce que ce serait mettreFF
à la plus haute adresse.Sur internet intel est dit little-endian. Lorsque j'examine la pile à l'aide de gdb, elle est organisée en 4 octets groupes comme 44 43 42 41,48 47 46 45 etc (alors que l'adresse de morceaux sont présentés comme 41,45 ie. la plus faible de l'adresse de groupe). Lorsque que j'appuie sur une chaîne "abcd", j'obtiens des valeurs comme 6463261. Ici, je suis confus, si c'est un little-endian machine alors que je devrais obtenir 61626364 seulement. De quoi ai-je tort ?
Comment avez-vous "poussez une chaîne de caractères"? Cela dépend de ce que les instructions que vous avez utilisé. Une chaîne n'a pas "boutisme". Les numéros de le faire.
Je suis à l'aide d'un simple programme en c et en prenant d'entrée à l'aide de obtient et le stocker dans un tableau de char.
OriginalL'auteur lurker
Little endian est fondamentalement inverser l'ordre des octets pour un multi-octets valeur
1111 1111 1111 0100
est de 2 octets où1111 1111
est le premier octet et1111 0100
est le deuxième octet. En little endian, le deuxième octet (ou octet le moins significatif) est lu en premier, afin de la représentation finale est1111 0100 1111 1111
OriginalL'auteur bakalolo
Le but de big-endian est à imprimer hex sur les écrans d'ordinateur de gauche à droite, de sorte qu'ils sont plus faciles à lire de bas niveau ou de newb programmeurs; en d'autres termes, parce que l'hexagone est imprimé à partir de faible adresses de mémoire haute, l'hexagone se retourné, à moins de le modifier dans le logiciel. Le but de Little-endian est de ne pas être un écrou à oreilles et de laisser les octets dans l'ordre afin de ne pas faire du travail supplémentaire pour les développeurs et, au lieu de faire de la TRÈS limitée nombre de gens qui se soucient de retourner les octets dans le logiciel!
Il est FORTEMENT CONSEILLÉ de ne jamais utiliser le big-endian. Les processeurs d'aujourd'hui sont à double-endian et peut gérer à la fois les grands et les petits-boutiens, sauf si vous avez l'interfaçage avec le matériel, la quasi-totalité de l'industrie utilise little-endian et big-endian a été programmé pour être complètement abandonnées par les développeurs.
Little-Endian Sans Logiciel Formatage
Big-Endian Sans Logiciel Formatage
Little-Endian Avec Un Logiciel De Formatage
Origines de Endian
Le mot Endian est en fait une ancienne Tribu Indigène de l'Amérique du Nord. Je ne me souviens pas exactement comment l'histoire va donc s'il vous plaît poster des commentaires à boucher les trous, mais l'histoire, c'est qu'il y avait deux tribus de Endians engagé dans une querelle de famille sur quelque chose de stupide et, finalement, la raison pour laquelle ils où la féodalité était parti depuis longtemps, mais ils continuent de se battre simplement parce qu'ils étaient encore mad.
C'est la Banane!
Le terme de bananes référer à un célèbre scientifique étude présumé avoir été fait avec des singes. Les "scientifiques" de mettre une échelle dans une chambre avec un groupe de singes et de mettre des bananes dans le haut de l'échelle. Si l'un des singes a essayé de grimper en haut de l'échelle, la moyenne scientifiques de pulvérisation de tous les singes avec de l'eau. Les singes ont appris à battre les singes qui ont essayé de gravir les échelons pour se sauver eux-mêmes de se faire pulvériser. Finalement, les scientifiques ont cessé de pulvérisation, les singes, mais les singes ont continué de battre quelqu'un qui a essayé de gravir les échelons. La chose drôle au sujet de cette histoire est que quelqu'un vient de faire jusqu'. C'est ce que cela veut dire quand quelque chose est complètement bananes, comme la guerre contre la drogue.
Admittidly, si vous avez pulvérisé les singes avec un "firehose" il ya une bonne chance que l'histoire serait vraie, car l'histoire originale n'a pas infliger assez de douleur pour surmonter le singe aime les bananes, mais il coutures comme si de vrais scientifiques ne sont pas que cela signifie.
Pour voir exactement comment banans Big-endian est, Permet de regarder les origines du big-endian. De retour à l'aube de microprocesseurs quand ils étaient encore à faire des masques et des machines à la main, la Société Motorola brièvement trouvé que c'était plus rapide dans le temps de l'utiliser en big endian. Au moment de Motorola Processeurs où le plus rapide, et ils ont développé un point solidement ancré dans le camp de Grand-Endianers. Pas longtemps après, quand ils ont réduit la taille des circuits intégrés à cette augmentation des performances est devenu hors de propos et les Processeurs modernes sont maintenant double-endian et peut changer endian au démarrage. Ce serait miroir à l'identique les Bananes à l'histoire. Quelqu'un mal compris quelque chose, il est devenu populaire avec les gens qui ne savent pas ce qu'ils font, et maintenant la logique est COMPLÈTEMENT les BANANES!!! #DeleteBigEndian
OriginalL'auteur