#1 30. September 2010 Datentyp haut nicht hin... Hab heut was mit codeblocks und mingw probiert. Und zwar sollte doch als beispiel unsigned int zahlen von 0-65535(glaub ich) aufnehmen können. Aber selbst wenn ich 66000 drin speichern will nimmt es das anstandslos an. genauso verhält es sich mit short int etc. hab in einem buch gelesen daß das compilerabhängig auch anders sein kann. gibts da für mingw(gcc) eine referenz dafür oder so? weil das ist schon verwirrend. + Multi-Zitat Zitieren
#2 30. September 2010 AW: Datentyp haut nicht hin... annehmen wird er es bestimmt - nur steht dann halt keine 66000 (bei short) mehr drin - schonmal die variable danach wieder ausgelesen? Variables and types - C++ Tutorials + Multi-Zitat Zitieren
#3 30. September 2010 AW: Datentyp haut nicht hin... Hey Deine Annahme bezüglich Compiler stimmt. Was aber falsch ist, ist annzunehmen, das bei unsigned int nur ein 16 Bit Wert speicherbar ist. Ein Integer ist i.d.R. 4 Byte groß und kann daher - ohne Vorzeichen - Zahlen bis zu ~4 Mrd. speichern. Genauere Größenangaben zu den Datentypen findest du entweder in limits.h oder per sizeof() heraus. + Multi-Zitat Zitieren
#4 30. September 2010 AW: Datentyp haut nicht hin... aksi hab per cin die eingabe machen lassen und in zum bsp. int a; speichern lassen.dannach mit cout anzeigen lassen. und sie da die angebenenen 66000 wurden ausgegeben. ich frage mich nur warum es allg. irgendwo definiert ist. und ich das auch nicht anders kannte und nun dies doch variabel ist. wie funktioniert das mit sizeof() und die limits.h ist irgendwo beim compiler zu finden, oder? bin etwas verwirrt weil hab das in allen büchern bisher so gelesen und nun stimmen die größenangaben der datentypen doch nicht. + Multi-Zitat Zitieren
#5 30. September 2010 AW: Datentyp haut nicht hin... Liest du denn was ich schreibe? Ich schreibs dir mal zur Übersicht bool / char................................... 1 Byte short........................................................................... 2 Byte int / long / float 4 Byte double................................................................ 8 Byte Die jeweilige Größe (Vorzeichen unbehaftet) kannst du ausrechnen indem du die Basis der Dualzahlen mit der Anzahl der jeweiligen Bits des Typen exponenzierst. Beispiel: 2^8 für bool oder char. + Multi-Zitat Zitieren