Registriert seit: 23. Jun 2005
403 Beiträge
|
Re: Kleine Integer?
29. Jul 2006, 21:54
Jetzt geb ich doch auch mal meinen Senf dazu:
Jede Speicherzelle (zumindest bei x86 Systemen) ist exakt 8 bit groß.
Bei einem Speicherzugriff kann (je nach Datenbusbreite, das mach dann der Controller) man entweder 8, 16 oder 32 Bit lesen, da die Zellen heutzutage in 4er Gruppen angelegt sind. Wenn ich also 4 byte aus dem Speicher holen will, brauche ich entweder einen Zyklus (lesen eines Integers), zwei Zyklen (Lesen von zwei words) oder vier Zyklen (Lesen von 4 Bytes).
Sicher spart man durch Verwendung vo kurzen Datentypen Speicher, aber die Geschwindigkeit leidet, wenn man nicht den Datentyp nimmt, der der Busbreite entspricht. Da heutzutage der Speicher relativ uninteressant ist, kann man durchaus ohne Bedenken mit Integer arbeiten.
In der CPU ist es übrigens völlig Wurscht, welchen Typ ihr nehmt. Die CPU bietet Befehle für die Manipulation aller drei Varianten (ber 64Bittern dann vier), die sich in der Geschwindigkeit nicht nterscheiden.
Manchmal sehen Dinge, die wie Dinge aussehen wollen mehr wie Dinge aus, als Dinge
<Esmerelda Wetterwachs>
|