Perché avete detto “semplice„ e “muto„?
Gli ho le risposte per - molte risposte. Qui sono:
http://webcache.googleusercontent.com/search?q=cache:xv771GQfYxIJ:www.allinterview.com/showanswers/32404.html+C+what+determines+size+of+int&cd=4&hl=en&ct=clnk&gl=usDopo che leggendo le risposte, esprimerò il mio parere…
Ma in primo luogo, dato che la vostra interpretazione è un brano dall'edizione dell'ANSI secondo di linguaggio di programmazione di C da K&R:
“il int sarà normalmente il formato naturale per una macchina particolare. … Ogni compilatore è libero di scegliere il formato adatto per i relativi propri fissaggi, l'oggetto soltanto o che la limitazione che i bicchierini e i ints sono almeno 16 bit, desidera è almeno 32 bit ed il bicchierino è più che il int, che è più che lungamente.„
La mia risposta…
È il compilatore, non l'OS, non il CPU, non la memoria, non il bordo.
Comunque, se vi preoccupate per il formato, quindi voi dovrebbe non usare mai il int. Non dico raramente mai. Ciò è un caso. È GIUSTA per alcuni contatori semplici del per-ciclo. Potete definire la vostra propria lima di user_types.h che fa un typedef per uint32, uint16, uint8, sint32, sint16 e sint8; e se applicabile, uint24, uint64, sint24 e sint64. Allora come vi muovete da un'unità di elaborazione verso un altro, appena #if definito (PROCESSOR_NAME) per ottenere il typedef corretto per quella piattaforma. Non conterei sui tipi 64-bit di numero intero comunque poiché ci non può essere un equivalente nel vostro compilatore.