Dalla A alla Z passando per C - Robotica
Dalla A alla Z passando per C - Robotica
Dalla A alla Z passando per C - Robotica
You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
Tabella 7.1: I tipi interi previsti nel linguaggio C.<br />
con segno senza segno dim. minima (bit) dim. tipica (bit)<br />
char signed char unsigned char 8 8<br />
short signed short unsigned short 16 16<br />
int signed int unsigned int 16 32<br />
long signed long unsigned long 32 64<br />
Tabella 7.2: Intervalli dei valori possibili <strong>per</strong> i diversi tipi interi del C.<br />
n. bit segno min max<br />
8 signed -128 +127<br />
16 signed -32.768 +32.767<br />
32 signed -2.147.483.648 +2.147.483.647<br />
8 unsigned 0 +255<br />
16 unsigned 0 +65.535<br />
32 unsigned 0 +4.294.967.295<br />
di tipo unsigned char l’intervallo diventa 0 . . .255, cioè fino a 2 8 − 1. Gli intervalli dei possibili<br />
valori <strong>per</strong> i tipi interi del C, sulla base della dimensione del dato, sono riportati in Tabella 7.2.<br />
Sulla lunghezza (dimensione in bit) di tali tipi non si possono fare assunzioni, poichè può<br />
dipendere dall’architettura <strong>per</strong> la quale il programma viene compilato e dal compilatore stesso.<br />
In pratica, <strong>per</strong>ò, è garantito che il tipo char sia di 8 bit.<br />
La definizione esatta del tipo int dipende quindi dal processore ospite. Generalmente è la<br />
dimensione della parola sull’hardware utilizzato. Questo significa che l’intero può essere a 16, 32,<br />
64 bit in base <strong>alla</strong> macchina in uso 1 . Viene comunque garantito che una variabile di tipo int<br />
possa utilizzare almeno 16 bit.<br />
Per quanto riguarda le costanti di tipo intero, si ha che<br />
• sono sequenze di caratteri numerici senza il punto decimale;<br />
• se la prima cifra è 0 il numero è interpretato come scritto secondo la notazione ottale<br />
• se la prima cifra è 0 seguito da x (X) il numero è considerato esadecimale<br />
Il numero 127 può <strong>per</strong>ciò essere scritto sia come 0177 che 0x7f.<br />
• le costanti di tipo long hanno come ultimo carattere L (l)<br />
• costanti di tipo unsigned U (u)<br />
• costanti di tipo char possono essere anche scritte come un carattere tra apici<br />
Se il calcolatore utilizza una codifica ASCII una costante di tipo char che vale ’1’, 49, 0x31, 061<br />
sono rappresentazioni diverse dello stesso valore.<br />
NOTA Il tipo char rappresenta un intero a 8 bit, e nella codifica ASCII i caratteri<br />
si rappresentano con codici a 8 bit. Ecco <strong>per</strong>chè il carattere ’1’ equivale al<br />
valore numerico 49 decimale.<br />
In Tabella 7.1 dei caratteri ASCII stampabili completa è riportata di seguito:<br />
1 Il numero di bit è generalmente associato <strong>alla</strong> dimensione del bus dati del processore.<br />
77