008
13.09.2006, 13:06 Uhr
virtual
Sexiest Bit alive (Operator)
|
Zitat: |
Erstmal ist char 1 Byte gross, wie gross das Byte ist hängt von der Plattform ab.
Daran hatte ich garnicht gedacht, ein Byte muss also nicht aus 8 bit bestehen?
|
Nicht zwingend. Es ist einfach so, daß ein char die kleinste Adressierbare Speichereinheit ist. (Von bits kann man bekanntlich keine Adresse ermitteln). Dabei kann ein ein char auch zB 16 Bit haben. Es sind auch esoterische Platformen mit 9 Bit pro Byte denkbar.
Zitat: |
Dann kann ich eigentlich davon ausgehen, dass heutzutage mein int-Zähler mindestens 4 Byte hat. Die Typenbezeichnungen mit Grössenangabe verwendet man also nur, wenn eine ganz bestimmte Grösse gefordert ist und normalerweise nicht, um eine grosse Zählvariable zu deklarieren. Dann werde ich Zählvariablen weiterhin als signed int oder unsigned int deklarieren.
|
Lediglich die Ungleichung
C++: |
1 == sizeof(char) <= sizeof(short) <= sizeof(int) <= sizeof(long) <= sizeof(long long)
|
ist garantiert. Es ist eine oft geäußerte (und berechtigte) Grundkritik an C/C++, daß ausgerechnet eine Sprache, deren Standard auf Platformunabhängigkeit zielt, nicht in der Lage ist, verbindliche Größen für die Standardtypen zu definieren.
Zitat: |
Wie ist das denn mit Float und Double, sind Floatberechungen eigentlich schneller?
Dass Floats weniger Speicherplatz brauchen als Doubles ist klar, aber wie ist das mit der Verarbeitungsgeschwindigkeit bei der ALU; bei den "ganzzahligen" Befehlen soll ja bei short nicht schneller sein als long, ist es bei Float und Double genauso?
|
Es ist nicht standardisiert, was schneller läuft. Allerdings - und das ist das Gegenargument zu der oben angesprochenen Grundkritik: speziell der Datentyp "int" ist in der Regel so gewählt, daß er hinsichtlich Ganzzahlberechnungen am effizientesten (In "Performance") ist. Mit anderen Worten: wenn Du die Wahl zwischen einem ganzzahl typen hast, solltest Du stets einen von int abgeleiteten Typen nutzen.
Bearbeitung: |
quotes gefixt
|
-- Gruß, virtual Quote of the Month Ich eß' nur was ein Gesicht hat (Creme 21) Dieser Post wurde am 13.09.2006 um 13:10 Uhr von virtual editiert. |