Was ist der Unterschied zwischen einem Wort und einem Byte?
Ich habe einige der Forschung getan.
Ein byte ist 8 bit, und ein Wort ist die kleinste Einheit angesprochen werden kann, auf den Speicher. Die genaue Länge eines Wortes variiert. Was ich nicht verstehe, was ist der Punkt, der mit ein byte? Warum nicht sagen, dass 8 bits?
Fragte ich einen prof diese Frage und er sagte, die meisten Maschinen in diesen Tagen sind byte-adressierbar, aber was würde das für ein Wort?
InformationsquelleAutor der Frage | 2011-10-13
Du musst angemeldet sein, um einen Kommentar abzugeben.
Byte: Heute, ein byte ist fast immer 8 bit. Jedoch, dass war nicht immer der Fall und es gibt keine "standard" oder etwas, das dies gebietet. Da 8 bits ist eine praktische Zahl, mit zu arbeiten es wurde die de-facto-standard.
Wort: Die Natürliche Größe, mit der ein Prozessor ist der Umgang mit Daten (das register Größe). Die häufigsten word-Größen begegnet heute sind 8, 16, 32 und 64 bits, aber auch andere Größen sind möglich. Für Beispiele, es gab ein paar 36-bit-Maschinenoder sogar 12-bit-Maschinen.
Den byte ist die kleinste adressierbare Einheit bei einer CPU. Wenn Sie möchten, setzen/löschen einzelner bits müssen Sie zuerst Holen Sie sich das entsprechende byte aus dem Speicher, Durcheinander mit den bits und schreiben Sie dann das byte wieder zurück in den Speicher.
Den Wort dagegen ist der größte Teil der bits, mit der ein Prozessor tun können, die Verarbeitung (wie z.B. addition und Subtraktion). Diese definition ist etwas unscharf, da einige Prozessor könnte verschiedene word-Größen für unterschiedliche Aufgaben (integer vs. floating-point-Verarbeitung zum Beispiel). Das Wort Größe ist es, was die Mehrheit von Operationen arbeiten mit.
Gibt es auch ein paar Prozessoren, die eine unterschiedliche Zeiger Größe: zum Beispiel, der 8086 ist ein 16-bit-Prozessor, was bedeutet, dass seine Register 16 bit breit. Aber seine Zeiger (Adressen) 20 bit breit und berechnet wurden, die sich durch die Kombination von zwei 16-bit-Registern in einer bestimmten Art und Weise.
InformationsquelleAutor der Antwort DarkDust
Abgesehen von den technischen Punkt, dass ein byte nicht unbedingt 8 bit, die Ursachen für das ein Begriff ist einfach die menschliche Natur:
Wirtschaft Aufwand (aka Faulheit) - es ist einfacher zu sagen "byte" statt "acht bits"
Tribalismus - Gruppen von Menschen wie zu verwenden jargon /eine private Sprache, um Sie von anderen unterscheiden.
Einfach mit dem Strom schwimmen. Sie sind nicht zu ändern, 50+ Jahre angesammelte IT-Terminologie und kulturellen Gepäck beschweren sich über Sie.
FWIW - die korrekte Bezeichnung zu verwenden, wenn du meinst "8 bits unabhängig von der hardware-Architektur" ist "Oktett".
InformationsquelleAutor der Antwort Stephen C
Da nicht alle Maschinen haben 8-bit-bytes. Da Sie tagged diese
C
nachschlagenCHAR_BIT
imlimits.h
.InformationsquelleAutor der Antwort cnicutar
Einem Wort, ist die Größe der Register in den Prozessor. Dies bedeutet, dass Prozessor, der Anweisungen wie, add, mul, etc. auf word-Größe-Eingänge.
Aber die meisten modernen Architekturen Speicher adressierbare 8-bit-Blöcken, so ist es zweckmäßig, das Wort "byte".
InformationsquelleAutor der Antwort VoidStar
BYTE
Ich versuche diese Frage zu beantworten, aus der C++ Perspektive.
Den C++ - standard definiert 'byte' als "Adressierbare Einheit von Daten, die groß genug ist, um jedem Mitglied die grundlegenden Zeichensatz, der die Ausführungsumgebung."
Was dies bedeutet ist, dass die byte besteht aus mindestens genug angrenzenden bits um Platz für die basic-Zeichensatz für die Umsetzung. Das heißt, die Anzahl der möglichen Werte müssen gleich oder höher sein als die Anzahl der unterschiedlichen Zeichen.
In den Vereinigten Staaten, die grundlegenden Charakter-sets sind in der Regel der ASCII-und der EBCDIC-sets, von denen jeder untergebracht werden kann von 8 bits.
Daher ist es garantiert, dass ein byte mindestens 8 bits.
In anderen Worten, ein byte ist die Menge der benötigte Speicherplatz für ein einziges Zeichen.
Wenn Sie möchten, um zu überprüfen, 'Anzahl der bits' in Ihrem C++ - Implementierung, überprüfen Sie die Datei 'limits.h'. Es sollte einen Eintrag wie folgt Aussehen.
WORT
Ein Wort ist definiert als eine bestimmte Anzahl von bits, die verarbeitet werden können, zusammen (d.h. in einem Versuch), die von der Maschine/Anlage.
Alternativ können wir sagen, dass Wort definiert die Menge der Daten, die übertragen werden können, die zwischen CPU und RAM in einem Arbeitsgang.
Die hardware-Register in einem computer-Maschine sind, die das Wort size.
Das Wort Größe definiert auch den größten möglichen Speicher-Adresse (jeder Speicher-Adresse verweist auf ein byte großen Speicher).
Hinweis – In C++ - Programme, die Speicheradressen Punkte in einem byte des Speichers und nicht um ein Wort.
InformationsquelleAutor der Antwort Vaibhav Patle
In diesem Zusammenhang ein Wort ist die Einheit, in der die Maschine verwendet bei der Arbeit mit Speicher. Zum Beispiel auf einer 32 bit Maschine, das Wort ist 32 bit lang und auf einem 64-bit ist 64 bit lang. Das Wort Größe bestimmt den Adressraum.
In der Programmierung (C/C++), das Wort ist in der Regel vertreten durch die
int_ptr
geben, die hat die gleiche Länge wie ein Zeiger, der auf diese Weise abstrahieren diese details.Einige APIs, die verwirren könnten, obwohl Sie, wie der Win32-API, weil es Typen wie
WORD
(16 bit) und derDWORD
(32 bits). Der Grund dafür ist, dass die API wurde zunächst für 16-bit-Maschinen, dann war der Portierung auf 32-bit-Maschinen, dann auf 64 bit Maschinen. Zum speichern einen Zeiger, die Sie verwenden könnenINT_PTR
. Mehr details hier und hier.InformationsquelleAutor der Antwort npclaudiu
Es scheint, alle Antworten zu übernehmen, high-level-Sprachen und wird überwiegend C/C++.
Aber die Frage ist mit "Versammlung" und alle Monteure die ich kenne (für 8bit -, 16bit -, 32bit-und 64bit-CPUs), die Definitionen sind viel mehr klar:
InformationsquelleAutor der Antwort johnfound
Was auch immer die Terminologie präsentieren, die in Datenblättern und Compiler, ein 'Byte' ist acht bits. Lasst uns nicht versuchen, zu verwirren und Fragende ggf. Allgemeines mit der obskuren Ausnahmen, besonders wie das Wort "Byte" kommt aus dem Ausdruck "um Acht". Ich 've arbeitete in der Halbleiter - /Elektronik-Industrie seit über dreißig Jahren und nicht einmal bekannt "Byte" verwendet, um auszudrücken, etwas mehr als acht bits.
InformationsquelleAutor der Antwort Brendan
Auch eine gute Weise, daran zu denken. Natürlich hängt Es von der computer-Architektur.
InformationsquelleAutor der Antwort amrx
Obwohl die Länge des Wortes variiert, auf alle modernen Maschinen und sogar alle älteren Architekturen, die ich kenne, das Wort Größe ist immer noch ein Vielfaches der byte-Größe. So gibt es keinen besonderen Nachteil "byte" über "8-bit" in Bezug auf die variable word-Größe.
Darüber hinaus, hier sind einige Gründe für die Verwendung von byte (oder Oktett - 1) über "8 bit":
1 Obwohl ich ' ll betrachten eine byte zu 8 bits für diese Antwort, das ist nicht universell wahr: auf älteren Maschinen eine byte kann eine andere Größe (wie 6 bits. Oktett immer bedeutet 8 bit, unabhängig von der Maschine (so dieser Begriff wird oft verwendet in der Definition von Netzwerk-Protokollen). Im modernen Sprachgebrauch, byte wird überwiegend verwendet als Synonym für 8 bits.
InformationsquelleAutor der Antwort BeeOnRope
Wenn eine Maschine ist byte-adressierbar und ein Wort ist die kleinste Einheit angesprochen werden kann, auf das Gedächtnis, glaube ich, ein Wort würde ein byte!
InformationsquelleAutor der Antwort K-ballo
Einer Gruppe von 8 bits nennt man ein byte ( mit der Ausnahme, wo es nicht ist:), für bestimmte Architekturen )
Einen Wort ist eine Feste Größe der Gruppe von bits, die als Maßeinheit angefaßt werden durch den Befehlssatz und/oder hardware des Prozessors. Das bedeutet, dass die Größe von einem general purpose register ( die in der Regel mehr als ein byte ), ein Wort
In der C -, ein Wort am häufigsten genannt integer =>
int
InformationsquelleAutor der Antwort tolitius
Den Bedingungen BYTE und WORT bezogen auf die Größe des Prozessors, bezeichnet wird. Die meisten gängigen Prozessoren sind/waren 8 bit, 16 bit, 32 bit oder 64 bit. Dies sind die WORD-Längen an den Prozessor. Eigentlich sind die Hälfte von einem WORT ein BYTE, was die numerische Länge ist. Bereit für dieses, die Hälfte von einem BYTE ist ein NIBBLE.
InformationsquelleAutor der Antwort Chris Calley
In der Tat, im Allgemeinen Sprachgebrauch, das Wort ist Synonym mit 16 bits, wie viel byte hat 8 bits. Kann ein wenig verwirrend, da die "word-size" auf 32-bit-CPU: 32-bit, aber wenn man über ein Wort der Daten ein, würde bedeuten 16-bit. Mikrocontroller mit einem 32-bit-Wort Größe genommen haben, um den Aufruf Ihrer Anweisungen "sehnt sich" (angeblich, um zu versuchen und vermeiden Sie die word/doubleword Verwirrung).
InformationsquelleAutor der Antwort Brian Knoblauch