¿Por qué usted dijo “simple” y “mudo”?
Tengo las respuestas para usted - muchas respuestas. Aquí están:
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=usDespués de que lea las respuestas, dé mi opinión…
Pero primero, porque su interpretación es un extracto de la edición de programación del ANSI 2do del lenguaje de C por K&R:
la “internacional será normalmente el tamaño natural para una máquina particular. … Cada recopilador está libre de elegir el tamaño apropiado para su propio hardware, tema solamente o que desea la restricción que los cortocircuitos y los ints son por lo menos 16 pedacitos, es por lo menos 32 pedacitos, y corto está no más que la internacional, que está no más que de largo.”
Mi respuesta…
Es el recopilador, no el OS, no la CPU, no la memoria, no el tablero.
En todo caso, si usted cuida sobre el tamaño, después usted debe nunca utilizar la internacional. Nunca digo raramente. Éste es un caso. Es ACEPTABLE para algunos contadores simples del para-lazo. Usted puede definir su propio archivo de user_types.h que haga un typedef para uint32, uint16, uint8, sint32, sint16, y sint8; y si fuera aplicable, uint24, uint64, sint24 y sint64. Entonces como usted se traslada a partir de un procesador a otro, apenas #if definido (PROCESSOR_NAME) para conseguir el typedef correcto para esa plataforma. No confiaría en tipos 64-bit del número entero sin embargo puesto que puede no haber un equivalente en su recopilador.