Prozessoren vermeiden es nicht, ungerade Zahlen *in dem Sinne zu verwenden, dass sie irgendwie von Natur aus nicht kompatibel *sind. Die Verwirrung beruht wahrscheinlich darauf, wie wir Daten in einem Prozessor ansprechen * und * organisieren *.
Hier ist eine Aufschlüsselung:
* Datenausrichtung: Prozessoren arbeiten häufig am effizientesten mit Daten, die auf Speicheradressen ausgerichtet sind, die vielfältig ihrer Größe sind (z. B. sollte eine 4-Byte-Ganzzahl idealerweise an einer von 4 teilbaren Adresse beginnen). Dies verbessert die Speicherzugriffsgeschwindigkeit. Während dies * in einigen Situationen indirekt zu scheinbar "merkwürdiger Zahlvermeidung" führen könnte, ist dies keine grundlegende Einschränkung. Der Prozessor verwendet immer noch * ungerade Adressen; Es kann dort möglicherweise nicht eine Multi-Byte-Datenstruktur beginnen.
* Anweisung Adressierung: Die Anweisungen selbst befinden sich an Speicheradressen. Diese Adressen können und sind oft ungerade Zahlen. Der Prozessor holt und führt Anweisungen aus, unabhängig davon, ob ihre Adressen gerade oder ungerade sind.
* Bitmanipulation: Im Kern manipulieren Prozessoren einzelne Bits, und es gibt keine inhärente Präferenz für selbst oder ungerade Bitpositionen. Ungerade Zahlen sind genauso wichtig wie auch diejenigen in Berechnungen und Datenrepräsentation.
* Nutzungsnutzung: Register (interner Prozessorspeicher) werden numerisch behandelt, und diese Adressen können gleichmäßig oder ungerade sein. Auch hier gibt es keine inhärente Einschränkung.
Zusammenfassend vermeiden Prozessoren nicht * ungerade Zahlen. Die Wahrnehmung kann sich aus Optimierungsstrategien im Zusammenhang mit der Datenausrichtung und dem Speicherzugriff ergeben, was eher effizientes Datenabruf als eine grundlegende Vermeidung von ungeraden Zahlen priorisiert. Der Prozessor selbst arbeitet mit und manipuliert gleichmäßig und merkwürdige Zahlen auf der Bit -Ebene gleichermaßen.