[stdint.h]N Bits

01/20/2012 18:20 alg0r!thm#1
Hallo zusammen.
Ich würde gerne wissen was es in C mit den Datentypen die in der Headerdatei "stdint.h" aufsich hat bzw. Was ist gemeint wenn ein Datentyp eine Breite von exakt "N" Bits hat. Wofür steht "N".
Denn ich lerne derzeit mit dem Buch "C von A bis Z" von Jürgen Wolf.
Und bin bei der Thematik "Ganzzahlige Typen mit vorgegebener Breite - <stdint.h>" angelangt.
[Only registered and activated users can see links. Click Here To Register...] nochmal zum nachlesen was genau in meinem Buch steht.
Ich hoffe mir kann jemand helfen.

So far,
Daniiel'

//btw. ich bin gerade auf die Headerdatei <stdlib.h> gestossen.
Und nun frag ich mich was in dieser Headerdatei deklariert wird.
01/20/2012 18:36 MoepMeep#2
N steht für einen beliebigen Wert innerhalb bestimmter Grenzen. Steht doch in dem Link von dir.
01/20/2012 18:38 alg0r!thm#3
Achso also kann ich damit meinen eigenen int definieren?
Oder wie kann man das verstehen.
Tut mir leid bin noch ein total Anfänger :-D
Und was hat es mit der Headerdatei <stdlib.h> aufsich?

So far,
Daniiel'
01/20/2012 18:41 MoepMeep#4
int8,int16,int32,int64. Was du halt brauchst ;)
01/22/2012 02:20 MrSm!th#5
Quote:
ein Datentyp eine Breite von exakt "N" Bits hat
Sagt mir, dass es sich hierbei um einen beliebig großen Datentyp handelt.
Sprich, du kannst auch von den Standardwerten 16,32,64 auf 2321, 1337 oder sonst was umsteigen, wenn du solche speziellen Größen brauchst.
01/22/2012 02:46 MoepMeep#6
Quote:
Originally Posted by MrSm!th View Post
Sagt mir, dass es sich hierbei um einen beliebig großen Datentyp handelt.
Sprich, du kannst auch von den Standardwerten 16,32,64 auf 2321, 1337 oder sonst was umsteigen, wenn du solche speziellen Größen brauchst.
Bist du dir mit diesen hohen Werten sicher? Ich hätte drauf gewettet, dass es dort deutlich niedere Grenzen gibt.
01/22/2012 17:25 jacky919#7
Im Grunde alloziierst du ja nur Speicher und für malloc gibt es diese Limiterung:
Quote:
The largest possible memory block malloc can allocate depends on the host system, particularly the size of physical memory and the operating system implementation. Theoretically, the largest number should be the maximum value that can be held in a size_t type, which is an implementation-dependent unsigned integer representing the size of an area of memory. The maximum value is 2CHAR_BIT × sizeof(size_t) − 1, or the constant SIZE_MAX in the C99 standard.