18.08.2013 Views

Dalla A alla Z passando per C - Robotica

Dalla A alla Z passando per C - Robotica

Dalla A alla Z passando per C - Robotica

SHOW MORE
SHOW LESS

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

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!