BlackBoard (http://www.black-board.net/index.php)
- Design, Programmierung & Entwicklung (http://www.black-board.net/board.php?boardid=55)
-- Programmieren (http://www.black-board.net/board.php?boardid=4)
--- C Unterschiede der Datentypen (http://www.black-board.net/thread.php?threadid=14161)


Geschrieben von SmO am 12.10.2003 um 15:21:

Achtung Unterschiede der Datentypen

Ich bin noch eher ein anfänger in sachen "C" und deswegen wollt ich fragen ob mir mal einer erläutern kann was es mit char, short, int, long (signed und unsigned) sowie float, double und long double auf sich hat (bzw. wie sie im zusammenhang mit variablen bzw. dezimal oktal und hexadezimal zahlen die datentypen stehen?!). Und was ist eigentlich eine Mantisse? unglücklich
Thx im voraus

greetz FaLLeN



Geschrieben von phlox81 am 12.10.2003 um 15:35:

 

Hm, Variablen, sie gibts um unterschiedliche Daten zu behandeln:

char 8 Bit - Datentyp für Ascii werte, wird in der regel für Buchstaben benutzt...
short 16 Bit - Datentyp für Zahlen
int 32 Bit - Datentyp für Zahlen, kann auch grössere Zahlen als short
float 32 Bit - Datentyp für komma-Zahlen
double 64 Bit - Datentyp für grosse komma-Zahlen

Devil



Geschrieben von black1654 am 12.10.2003 um 16:28:

 

Kleine Ergänzung...

Wenn du zum Beispiel mit "unsigned int" arbeitest, kann deine Variable keine Negativen Wert mehr annehmen. Aber der negative Wert wird dafür an den positiven Wert "drangehangen" was zur Folge hat, dass deine Varible einen doppelt so großen Wertebereich hat, aber nicht mehr negativ werden kann.

Von signed habe ich noch nichts gelesen, aber ich bin auch nur ein Anfänger....



Geschrieben von SmO am 12.10.2003 um 19:54:

 

najo hab noma auf nem anderen board gefragt; wenn's interssiert:

1.www.pronix.de

2.google.de

Trozdem noma thx großes Grinsen



Geschrieben von CDW am 12.10.2003 um 21:37:

 

@Devil: kleiner schreibfehler: ersetze die 'y' lons durch ein 'i' Augenzwinkern
die datentypen aus meiner sicht:

1 bit: zwei Darstellungsmöglichkeiten (An/Aus)
char= 8 Bit - 2^8=256 Zeichen/Ziffer darstellbar
short 16 Bit - 2^16=65536 (aus dem Kopf, k.a obs richig ist)
int 32 bit - irgendwas mit 4 Mrd
float 32 Bit - kommazahlen darsstellbar
unsignet=nicht signiert, das heißt alle bits werden für den Wert gebraucht, negative zahlen können nicht dargestellt werden
@black1654: das ist so, weil das erste bit als Platzhalter für Plus/Minus bentzt wird: also bei signed short hat man dann statt 16-bit nur 15 zur verfügung, was dann 32000 statt 65000 heißt
die ganzen Namen sind nur für den Programmierer da, damit er sich die überischt verschaffen kann, außerdem werden float zahlen anders behandelt (kann aber nicht mehr aus dem Kopf, lest es mal lieber irgendwo nach Augenzwinkern )
in der Regel sind die zahlen an die registerbreiten angepasst... mit der kommenden Umstellung auf 64-Bit werden die Compiler voraussichtlich (laut c't) auch die "Typenbreite" verdoppeln (also bei int statt 32 Bit 64 bit)

PS: der 1 link ist gut...


Forensoftware: Burning Board 2.3.6, entwickelt von WoltLab GmbH