Verwendet mein AMD-basierter Computer Little Endian oder Big Endian?
Ich bin aber ein Computer-system-Kurs, und ich bin versucht zu etablieren, sicherwenn mein AMD-basierten computer ist ein little-endian-Maschine? Ich glaube, dass es ist, weil es Intel-kompatible.
Genauer zu sein, mein Prozessor ist ein AMD 64 Athlon x2.
Ich verstehe, dass diese Angelegenheit in der C-Programmierung. Ich bin das schreiben von C-Programmen und eine Methode, die ich verwende wäre davon betroffen. Ich versuche herauszufinden, ob ich die gleichen Ergebnisse erhalten, wenn ich lief das Programm auf einem Intel-basierten Rechner (unter der Annahme, dass ist little-endian-Maschine).
Schließlich, lassen Sie mich Fragen: Würde jeder und alle Maschinen, die unter Windows (XP, Vista, 2000, Server 2003, etc.) und, sagen wir, Ubuntu Linux desktop little endian?
Danke,
Frank
InformationsquelleAutor der Frage Frank V | 2009-06-21
Du musst angemeldet sein, um einen Kommentar abzugeben.
Alle x86-und x86-64-Maschinen (das ist nur eine Erweiterung x86) little-endian sind.
Können Sie bestätigen, dass es so etwas wie das hier:
InformationsquelleAutor der Antwort Mehrdad Afshari
Eine einfache Möglichkeit zu wissen, die endiannes ist in dem Artikel aufgeführt Schreiben endian-unabhängigen code in C
InformationsquelleAutor der Antwort FCo
Vorausgesetzt, Sie müssen Python installiert haben, führen Sie diese one-liner, die " drucken "wenig" auf der little-endian-Maschinen und "big" an " big-endian:
InformationsquelleAutor der Antwort Ben Hoyt
"Intel-kompatibel" ist nicht sehr präzise.
Intel verwendet, um big-endian-Prozessoren, insbesondere der StrongARM und XScale. Diese verwenden Sie nicht die IA32 ISA, allgemein bekannt als x86.
Weiter zurück in der Geschichte, die Intel auch den "little-endian" i860 und i960, die sind auch nicht x86-kompatibel.
Weiter zurück in der Geschichte, die prececessors der x86 (8080, 8008, etc.) sind nicht x86-kompatibel. 8-bit-Prozessoren, die endianness nicht wirklich wichtig...
Heutzutage, Intel macht immer noch den Itanium (IA64), die bi-endian: normaler Betrieb ist big-endian, aber der Prozessor kann auch in little-endian-Modus. Es passiert zu sein in der Lage zum ausführen von x86-code in little-endian-Modus, aber die native ISA ist nicht IA32.
Meines Wissens, alle AMD-Prozessoren mit x86-kompatibel, mit einigen Erweiterungen, wie x86_64, und sind somit unbedingt little-endian.
Ubuntu für x86 (little-endian) und x86_64 (little-endian), mit weniger komplette ports für ia64 (big-endian), ARM(el) (little-endian), PA-RISC-Architektur ("big-endian", obwohl der Prozessor unterstützt beides), PowerPC (big endian) und SPARC (big endian). Ich glaube nicht, dass es ist ein ARM(eb) (big-endian) port.
InformationsquelleAutor der Antwort ephemient
Antwort auf deine Letzte Frage, die Antwort ist Nein. Linux ist lauffähig auf big-endian-Maschinen wie z.B. die ältere generation der PowerMacs.
InformationsquelleAutor der Antwort 1800 INFORMATION
Haben Sie zum herunterladen einer version von Ubuntu ausgelegt für big-endian-Maschinen. Ich weiß nur von der PowerPC Versionen. Ich bin sicher, Sie finden einen Ort, von dem einen mehr generischen big-endian-Umsetzung.
InformationsquelleAutor der Antwort mnuzzo
Endianness White Paper von Intel Corp veröffentlicht November 15, 2004
http://www.intel.com/design/intarch/papers/endian.pdf
InformationsquelleAutor der Antwort Soumen Sarkar
und verwenden Sie diese
wenn LE
*makro-Aufruf eigentliche Funktion und wird es konvertiert WERDEN
wenn SEIN
*makro wird definiert als Wort nicht eine Funktion und Ihre Anzahl wird in Klammern
InformationsquelleAutor der Antwort Linas