Hola, tengo un problema que no se porqué pasa, yo creo que es el compilador, pero como yo no se mucho prefiero consultarlo con alguien que sepa.
Bueno, he estado siguiendo un libro de programación en C, y he escrito un programa para que me diga simplemente la amplitud de los valores a la que pueden llegar las diferentes variables.
/*buscando los límites*/
#include<stdio.h>
#include<limits.h>
#include<float.h>
int main(void)
{
printf("Las variables de tipo char guardan valores entre %d y %d.",
CHAR_MIN, CHAR_MAX);
printf("\nLas variables de tipo unsigned char guardan valores entre 0 y %u."
, UCHAR_MAX);
printf("\nLas variables de tipo short guardan valores entre %d y %d.",
SHRT_MIN, SHRT_MAX);
printf("\nLas variables de tipo unsigned short guarda valores entre 0 y %u."
, USHRT_MAX);
printf("\nLas variables de tipo int guardan valores entre %d y %d.",
INT_MIN, INT_MAX);
printf("\nLas variables de tipo unsigned int guardan valores entre 0 y %u.",
UINT_MAX);
printf("\nLas variables de tipo long guardan valores entre %ld y %ld.",
LONG_MIN, LONG_MAX);
printf("\nLas variables de tipo unsinged long guardan valores entre"
"0 y %ld.", ULONG_MAX);
printf("\nLas variables de tipo long long guardan valores "
"entre %lld y %lld.", LLONG_MIN, LLONG_MAX);
printf("\nLas variables de tipo unsigned long long guardan valores entre "
"0 y %llu.", ULLONG_MAX);
printf("\nEl tamaño del valor más pequeño de tipo float es"
" %.3e.", FLT_MIN);
printf("\nEl tamaño del valor más grande de tipo float es %.3e", FLT_MAX);
printf("\nEl tamaño del valor más pequeño de tipo double es"
" %.3e.", DBL_MIN);
printf("\nEl tamaño del valor más grande de tipo double es %.3e.", DBL_MAX);
printf("\nEl tamaño del valor más pequeño de tipo long "
"double \nes %.3Le.", LDBL_MIN);
printf("\nEl tamaño del valor más grande de tipo long double es %.3Le."
, LDBL_MAX);
printf("\nLas variables de tipo float tienen %u decimales de precisión."
, FLT_DIG);
printf("\nLas variables de tipo double tienen %u decimales de precisión."
, DBL_DIG);
printf("\nLas variables de tipo long double tienen %u decimales de "
"precisión.", LDBL_DIG);
return 0;
}
Es como está en el libro, pero el valor de la variable "long long", a la hora de ejecutar el programa, no corresponde con la uqe sale en el libro, sino con la variable "long" y "int. Y luego tambien, la variable "long double" me da un número que parece ser producto de un error "0.000e+000" para el valor más pequeño, y "-1.#Q0E+000". Gracias de antelación por la ayuda ^^
Bueno, he estado siguiendo un libro de programación en C, y he escrito un programa para que me diga simplemente la amplitud de los valores a la que pueden llegar las diferentes variables.
/*buscando los límites*/
#include<stdio.h>
#include<limits.h>
#include<float.h>
int main(void)
{
printf("Las variables de tipo char guardan valores entre %d y %d.",
CHAR_MIN, CHAR_MAX);
printf("\nLas variables de tipo unsigned char guardan valores entre 0 y %u."
, UCHAR_MAX);
printf("\nLas variables de tipo short guardan valores entre %d y %d.",
SHRT_MIN, SHRT_MAX);
printf("\nLas variables de tipo unsigned short guarda valores entre 0 y %u."
, USHRT_MAX);
printf("\nLas variables de tipo int guardan valores entre %d y %d.",
INT_MIN, INT_MAX);
printf("\nLas variables de tipo unsigned int guardan valores entre 0 y %u.",
UINT_MAX);
printf("\nLas variables de tipo long guardan valores entre %ld y %ld.",
LONG_MIN, LONG_MAX);
printf("\nLas variables de tipo unsinged long guardan valores entre"
"0 y %ld.", ULONG_MAX);
printf("\nLas variables de tipo long long guardan valores "
"entre %lld y %lld.", LLONG_MIN, LLONG_MAX);
printf("\nLas variables de tipo unsigned long long guardan valores entre "
"0 y %llu.", ULLONG_MAX);
printf("\nEl tamaño del valor más pequeño de tipo float es"
" %.3e.", FLT_MIN);
printf("\nEl tamaño del valor más grande de tipo float es %.3e", FLT_MAX);
printf("\nEl tamaño del valor más pequeño de tipo double es"
" %.3e.", DBL_MIN);
printf("\nEl tamaño del valor más grande de tipo double es %.3e.", DBL_MAX);
printf("\nEl tamaño del valor más pequeño de tipo long "
"double \nes %.3Le.", LDBL_MIN);
printf("\nEl tamaño del valor más grande de tipo long double es %.3Le."
, LDBL_MAX);
printf("\nLas variables de tipo float tienen %u decimales de precisión."
, FLT_DIG);
printf("\nLas variables de tipo double tienen %u decimales de precisión."
, DBL_DIG);
printf("\nLas variables de tipo long double tienen %u decimales de "
"precisión.", LDBL_DIG);
return 0;
}
Es como está en el libro, pero el valor de la variable "long long", a la hora de ejecutar el programa, no corresponde con la uqe sale en el libro, sino con la variable "long" y "int. Y luego tambien, la variable "long double" me da un número que parece ser producto de un error "0.000e+000" para el valor más pequeño, y "-1.#Q0E+000". Gracias de antelación por la ayuda ^^