Curso de Programación en C/Prog13
Ir a la navegación
Ir a la búsqueda
Prog13
1 /* Prog13.c -- Muestra valores de algunos constantes en limit.h y float.h */
2
3 #include <stdio.h>
4 #include <limits.h> // integer limitos
5 #include <float.h> // floating-point limitos
6
7 int main( void )
8 {
9 printf( "\nAlgunos límites de números de un sistema de 32-bits:\n" );
10 printf( "Un byte = %d bits en este sistema.\n"
11 "char mínimo: %hd y char máximo: %hd\n"
12 "signed char mínimo: %hd y signed char máximo: %hd\n"
13 "unsigned char mínimo: 0 y usigned char máximo: %hd\n\n"
14 "short mínimo: %hd y short máximo: %hd\n"
15 "unsigned short mínimo: 0 y usigned short máximo: %hu\n\n"
16 "int mínimo: %d e int máximo: %d\n"
17 "unsigned int mínimo: 0 y usigned int máximo: %u\n\n"
18 "long mínimo: %ld y long máximo: %ld\n"
19 "unsigned long mínimo: 0 y usigned long máximo: %lu\n\n"
20 "long long mínimo: %lld y long long máximo: %lld\n"
21 "unsigned long long mínimo: 0 y unsigned long long máximo: %llu\n\n",
22 CHAR_BIT, CHAR_MIN, CHAR_MAX, SCHAR_MIN, SCHAR_MAX, UCHAR_MAX,
23 SHRT_MIN, SHRT_MAX, USHRT_MAX, INT_MIN, INT_MAX, UINT_MAX, LONG_MIN,
24 LONG_MAX, ULONG_MAX, LLONG_MIN, LLONG_MAX, ULLONG_MAX );
25
26 printf( "Número de digitos en la mantisa de un float: %hd\n"
27 "Mínimo número de dígitos significativos de un float: %hd\n"
28 "Mínimo exponente de base 10 de un float\n"
29 "con dígitos significativos completos %hd\n"
30 "Máximo exponente de base 10 de un float: %hd\n\n"
31 "Mínimo float normal: %e y Máximo float normal: %e\n\n"
32 "float epsilon = %e\n\n",
33 FLT_MANT_DIG, FLT_DIG, FLT_MIN_10_EXP, FLT_MAX_10_EXP, FLT_MIN,
34 FLT_MAX, FLT_EPSILON );
35
36 return 0;
37 }
Resultado
[rrc@Pridd CClase]$ gcc -Wall -O2 -o Prog13 Prog13.c [rrc@Pridd CClase]$ ./Prog13 Algunos límites de números de un sistema de 32-bits: Un byte = 8 bits en este sistema. char mínimo: -128 y char máximo: 127 signed char mínimo: -128 y signed char máximo: 127 unsigned char mínimo: 0 y usigned char máximo: 255 short mínimo: -32768 y short máximo: 32767 unsigned short mínimo: 0 y usigned short máximo: 65535 int mínimo: -2147483648 e int máximo: 2147483647 unsigned int mínimo: 0 y usigned int máximo: 4294967295 long mínimo: -2147483648 y long máximo: 2147483647 unsigned long mínimo: 0 y usigned long máximo: 4294967295 long long mínimo: -9223372036854775808 y long long máximo: 9223372036854775807 unsigned long long mínimo: 0 y unsigned long long máximo: 18446744073709551615 Número de digitos en la mantisa de un float: 24 Mínimo número de dígitos significativos de un float: 6 Mínimo exponente de base 10 de un float con dígitos significativos completos -37 Máximo exponente de base 10 de un float: 38 Mínimo float normal: 1.175494e-38 y Máximo float normal: 3.402823e+38 float epsilon = 1.192093e-07 [rrc@Pridd CClase]$