PDA

View Full Version : Piccolo aiuto sul C


Bahamut Zero
01-02-2002, 14:49
Piccolo aiuto sul C
sto imparando le funzioni e il Deitel & Deitel ad un certo punto mi butta davanti le gerarchie di promozione dei dati e mi fa vedere un sacco di tipi di dato ma non me li spiega!

Alcuni non sono riusciti a trovarli da nessuna parte me li potete spiegare gentilmente?

I tipi di dato sono:

long double
double
unsigned long int
long int
unsigned int
short

float , int e char questi li conosco :D

ciao e tnk!

cionci
01-02-2002, 17:14
Originariamente inviato da Bahamut Zero
[B]Piccolo aiuto sul C
sto imparando le funzioni e il Deitel & Deitel ad un certo punto mi butta davanti le gerarchie di promozione dei dati e mi fa vedere un sacco di tipi di dato ma non me li spiega!

Alcuni non sono riusciti a trovarli da nessuna parte me li potete spiegare gentilmente?

I tipi di dato sono:

long double
double
unsigned long int
long int
unsigned int
short

float , int e char questi li conosco :D

Le capacità dei dati dipendo dal tipo di sistema e compilatore usato...
Io ti faccio l'esempio di quelli a 32 bit per x86...
long double è solitamente uguale al double cioè su 64 bit (anche se su alcun compilatori può essere abilitato un long double a 80 bit)
double è come i float (cambiano ovviamente le dimensioni dei campi dedicati a mantissa e esponente), ma invece di essere su 32 bit è su 64 bit
long int (o long e basta...è la stessa cosa) è sempre su 32 bit come gli int
short un intero su 2 byte

Per char, short, int e long esistono le versioni senza segno (solo numeri positivi)...

Ad esempio unsigned char è un intero su un solo byte che va da 0 a 255...
Mentre unsigned short è un intero che va da 0 a 65535...
E così via...in pratica partono da 0 e (2 elevato al numero di bit del tipo) - 1....mentre quelli con segno vanno da -(2 elevato al (numero di bit-1)) a +((2 elevato al (numero di bit-1))-1)