Größe Datentypen
-
Hallo Leute,
mich würde mal folgende interessieren
(32Bit System)
int 32bit
long 32Bit
short 16bit(16 bit System)
int 16bit
long 32Bit
short 16bit (bin mir nicht sicher ob es da short gibt)der wertebereich bzw. Zahl <-> bit kodierung sind ja bei int und long (32Bit System) gleich nehm ich an...
-
^^kommt meistens hin.
'int' ist meistens so breit wie der datenbus des prozessors, damit der compiler schnellen, kompakten code erzeugen kann. nur die doofen x86 64bit compiler machen das angeblich anders. da soll 'int' immer noch 32bits breit sein, wie ich gehört habe.
-
wie groß ist long auf den x64 CPUS?
gibts short erst seit es 32 bit system gibt, und man immer noch ein 16bit typ zur verfügung hat?
-
Das ist auch vom Compiler abhängig. Der x64-gcc macht es z.B. anders als x64-msvc.
-
-
ok, und wo kommt der typ "short" her?
-
BorisDieKlinge schrieb:
ok, und wo kommt der typ "short" her?
Wo soll der schon herkommen?
Es ist einfach ein in Ansi C vorhandener Datentyp, wobei gilt:
short int <= int <= long int
-
short ist ja systemunabhänigg 16 bit und in je nach system !?
-
BorisDieKlinge schrieb:
short ist ja systemunabhänigg 16 bit und in je nach system !?
Soviel ich weiss, gibt es für short keine feste Anzahl von Bits.
Es muss nur das obige Verhältniss gelten:
short int <= int <= long int
-
Wie für die anderen Typen ist für short der minimale Wertebereich vorgeschrieben (-32767 bis +32767), also mindestens 16 Bit.
-
Tim schrieb:
Wie für die anderen Typen ist für short der minimale Wertebereich vorgeschrieben (-32767 bis +32767), also mindestens 16 Bit.
Falsch.
-32768 bis +32767.
-
gandor schrieb:
Falsch.
-32768 bis +32767.Unfug.
-
Irgendwie wusste ich ja, dass das kommt
-
Das ist jetzt ohne die motivation dafür im Standard zu kennen sicher deswegen so, weil der größere wertebereich einer negativen zahl ein implementationsdetail ist, und deswegen nicht garantiert wird.(es gibt ja auch andere darstellungen von negativen zahlen, als die einerkomplementdarstellung).
-
[url]http://www.iris.uni-stuttgart.de/lehre/eggenberger/gdi/1/Codierung/Zahlendarstellung/NegativeZahlen.htm
[/url]gz
-
-32768 bis +32767.
das ist korrekt..
-
BorisDieKlinge schrieb:
-32768 bis +32767.
das ist korrekt..
Korrekt in welchem Zusammenhang? Das ist _nicht_ der geforderte minimale Zahlenbereich eines short und durch Wiederholung wird es auch nicht korrekter.
-
Tim schrieb:
(-32767 bis +32767)
wieso fehlt da einer? liegts etwa an dieser codierung mit der doppel-null?
-
Tim schrieb:
BorisDieKlinge schrieb:
-32768 bis +32767.
das ist korrekt..
Korrekt in welchem Zusammenhang? Das ist _nicht_ der geforderte minimale Zahlenbereich eines short und durch Wiederholung wird es auch nicht korrekter.
-32768 bis +32767 für die typischen Intel-Plattformen ist das korrekt und nicht etwa, wie Camper schrieb, "Unfug"!.
-
2-er_Komplement_CPU schrieb:
-32768 bis +32767 für die typischen Intel-Plattformen ist das korrekt
und am Thema vorbei