::datatypes_video::[html]


(Presione para reproducir).

// 15 ::datatypes_char_overflow::[markdown]¿Que produce en la salida estándar el siguiente programa?\n\n```c\nunsigned char ch \= 160;\nch +\= 100;\nprintf("%hhu\\n", ch);\n```{ =`4` ~`260` ~`255` ~`256` ~`-1` } // 15 ::datatypes_arithmetic_types::[markdown]¿Asocie las aritméticas de las máquinas computacionales a las aritméticas humanas que más se parecen? { =Aritmética de precisión fija -> Aritmética entera =Aritmética de precisión flotante -> Aritmética real =Aritmética de precisión arbitraria -> Ambas } // 40 ::datatypes_for_contexts::[markdown]¿Cuáles tipos de datos de C/C++ son los más adecuados para las siguientes circunstancias?{ =Sexo (hombre, mujer) -> enum =Base nitrogenada del ADN -> char =Día del mes -> short =Salario bruto mensual -> double =Coordenada x de un enemigo que se mueve circularmente en un videojuego -> float =Tamaño en bytes de un archivo en disco -> unsigned long long =Fuerza de atracción gravitacional -> double =Casado(a) -> bool =El título de un libro (texto) -> array =Número de teléfono -> int } // 15 ::datatypes_fixed_integers::[markdown]Si una persona que programa C necesita obligatoriamente que una variable "entera" siempre ocupe 4 bytes indiferentemente de la arquitectura es de 32, 64, 48, u otra cantidad de bits ¿cómo puede lograrlo?{ =Usaría los tipos declarados en la biblioteca `` ~Si la arquitectura es de 32 bits usa `long`, sino, usaría `int`. ~Crea siempre un `long long` y usa sólo los primeros 4 bytes o los últimos con operadores de bits. ~Crea un arreglo de 4 caracteres y los reinterpreta como un entero a través de un puntero. } // 15 ::datatypes_arbitrary_precision::[markdown]¿Qué hago en C si necesito precisión de 40 o más dígitos enteros o decimales para fines médicos, financieros, científicos, u otros?{ =Uso una biblioteca de aritmética de precisión arbitraria aunque el programa sea más lento ~Uso el tipo de datos `long double` ~Uso el tipo de datos `float` ~Uso unidades mayores, por ejemplo en lugar de colones trabajar con miles de millones de colones }