Y segunda pregunta: ¿alguien sabe si compilo la línea 10 y 11 porque me sale un error en el DEVC++? No lo entiendo.
Código
#include <stdio.h> #include <limits.h> int main() { /* No funcionan ¿Por qué? printf("Numero de bits que tiene un tipo INT = %i\n\n", WORD_BIT); printf("Numero de bits que tiene un tipo LONG = %i\n\n", LONG_BIT); */ //------------------------------------------------------------------------------------- //------------------------------------------------------------------------------------- //------------------------------------------------------------------------------------- //------------------------------------------------------------------------------------- // Faltan los rangos de valores para los float, double y long double, además de sus formateadores. return(0); } /* Estos Valores y formateadores los he ido recopilando y testeando, algunos no me han funcionado como el %Li. Valores de tipos de datos según compilador y sistema operativo (16, 32 o 64bits). ================================================================================ signed char -> tipo caracter con signo -> %c | Tamaño = 1byte | Rango = -128...127 | char -> tipo caracter con signo -> %c | Tamaño = 1byte | Rango = -128...127 | Ejemplo: char a='e'; unsigned char -> tipo caracter sin signo -> %c | Tamaño = 1byte | Rango = 0...255 | short -> tipo entero corto con signo -> %i | Tamaño = 2bytes | Rango = -32768...32767 | Ejemplo: short b=-15; int -> tipo entero normal con signo -> %i | Tamaño = 2bytes | Rango = -32768...32767 | Ejemplo: int c=1024; unsigned int -> tipo entero normal sin signo -> %u | Tamaño = 2bytes | Rango = 0...65535 | Ejemplo: unsigned int d=50456; signed int -> tipo entero normal con signo -> %i | Tamaño = 2bytes | Rango = -32768...32767 | short int -> tipo entero corto con signo -> %i | Tamaño = 2bytes | Rango = -32768...32767 | unsigned short int -> tipo entero corto sin signo -> %u | Tamaño = 2bytes | Rango = 0...65535 | signed short int -> tipo entero corto con signo -> %i | Tamaño = 2bytes | Rango = -32768...32767 | long int -> tipo entero largo con signo -> %li | Tamaño = 4bytes | Rango = -2147483648...2147483637 | signed long int -> tipo entero largo con signo -> %li | Tamaño = 4bytes | Rango = -2147483648...2147483637 | unsigned long int -> tipo entero largo sin signo -> %li | Tamaño = 4bytes | Rango = 0...4294967295 | long -> tipo entero largo con signo -> %li | Tamaño = 4bytes | Rango = -2147483648...2147483637 | Ejemplo: long e=123456; unsigned long -> tipo entero largo sin signo -> %li | Tamaño = 4bytes | Rango = 0...4294967295 | float -> tipo real normal -> %f | Tamaño = 4bytes | Rango = 3.4*E-38...3.4*E38 | Ejemplo: float a=15.678; double -> tipo real largo -> %lf | Tamaño = 8bytes | Rango = 1.7*E-308...1.7*E308 | Ejemplo: float a=15.678; long double -> tipo real muy largo -> %Lf | Tamaño = 8bytes o 10bytes | Rango = 1.7*E-308...1.7*E308 o 3.4*E-4932...3.4*E4932 | Ejemplo: float a=15.678; ¿Cómo saturar el valor de las variables? Formateadores (Wikipedia: https://es.wikipedia.org/wiki/Printf) =============================================================== %d ó %i entero en base 10 con signo (int) %u entero en base 10 sin signo (int) %o entero en base 8 sin signo (int) %x entero en base 16, letras en minúscula (int) %X entero en base 16, letras en mayúscula (int) %li ó %ld ? %lu %lli %llu %Li ? %f Coma flotante decimal de precisión simple (float) %lf Coma flotante decimal de precisión doble (double) %e La notación científica (mantisa / exponente), minúsculas (decimal precisión simple ó doble) %E La notación científica (mantisa / exponente), mayúsculas (decimal precisión simple ó doble) %c caracter (char) %s cadena de caracteres (string) %07i justificado a la derecha, 7 dígitos de largo, sin relleno %.7i largo mínimo de 7 dígitos, justificado a la derecha, rellena con ceros %8.2f tamaño total de 8 dígitos, con dos decimales %.*f”',x,d) tamaño predeterminado,x numeros decimales %*.*f”,x,y,d) tamaño igual a x, y numeros decimales %s cadena terminada en null %5s primeros cinco caracteres o delimitador %.5s primeros cinco caracteres, sin tener en cuenta el delimitador %20.5s primeros cinco caracteres, justificados a la derecha, con 20 caracteres de largo %-20.5s primeros cinco caracteres, justificados a la izquierda, con 20 caracteres de largo */