• Domingo 15 de Diciembre de 2024, 04:11

Autor Tema:  Datos Demasiados Grandes  (Leído 1746 veces)

jubilubi

  • Nuevo Miembro
  • *
  • Mensajes: 22
    • Ver Perfil
    • http://www.diversioNESjubilubi.3a2.com
Datos Demasiados Grandes
« en: Lunes 19 de Enero de 2004, 23:13 »
0
¿Como le puedo hacer para que en un programa acepte numeros muy grandes, aunque esto afecte el resultado final?
Entiendo que existen rangos en los tipos de datos, pero quisiera que me aceptara cualquier clase de numero, desde un 5, pasando por 89.315, hasta 10e-140.
Se que va a ocurrir un error de truncamiento al introducir datos muy grandes, pero no importa, lo que me interesa es que realize las operaciones aunque el resultado sea solamente una aproximación del resultado real. Les agradeceria mucho su ayuda.

plaf

  • Miembro activo
  • **
  • Mensajes: 57
    • Ver Perfil
Re: Datos Demasiados Grandes
« Respuesta #1 en: Martes 20 de Enero de 2004, 01:18 »
0
podrias manejar los numeros guardandolos en notacion cientifica, con un float q sea el numero y un int el exponente
por ejemplo si quieres sumar 2 numeros primero ves si los exponentes son parecidos, si son muy diferentes desprecias el mas chico, y si son parecidos divides el mayor por 10 elevado la diferencia de exponentes y los sumas. y asi haces ese tipo de cosas con las demas operaciones

chuidiang

  • Miembro MUY activo
  • ***
  • Mensajes: 123
  • Nacionalidad: es
    • Ver Perfil
    • http://www.chuidiang.com
Re: Datos Demasiados Grandes
« Respuesta #2 en: Martes 20 de Enero de 2004, 09:27 »
0
Utiliza double por todos lados. Este tipo es el que te dará el máximo rango posible.

De todas formas, sigue teniendo un límite (enorme, pero lo tiene). Si aun así se te queda pequeño, no te queda más remedio que hacerte tu propio código para tratamiento de todos estos números.

Se bueno.

QliX=D!

  • Miembro MUY activo
  • ***
  • Mensajes: 214
    • Ver Perfil
Re: Datos Demasiados Grandes
« Respuesta #3 en: Martes 20 de Enero de 2004, 15:36 »
0
O usar alguna libreria para numeros grandes, hay varias dando Vueltas por la net.
QliX=D! - From the top of Tsunami

CiRRuS

  • Miembro MUY activo
  • ***
  • Mensajes: 218
    • Ver Perfil
    • http://zirrus.es
Re: Datos Demasiados Grandes
« Respuesta #4 en: Miércoles 28 de Enero de 2004, 16:50 »
0
Librerias de números gordos que puedes encontrar son:

Para C la LIP, que usa variables verylong.

Para C++ la de LiDIA, que usa variables bigint. Personalmente prefiero mejor esta, a parte que en C++ se hace más llevadero el uso de operadores y demás.

Nos vemos
Core Dumped
zirrus.es

nicokiki

  • Miembro MUY activo
  • ***
  • Mensajes: 298
    • Ver Perfil
Re: Datos Demasiados Grandes
« Respuesta #5 en: Jueves 29 de Enero de 2004, 12:58 »
0
Yo creo q lo mejor es que vos hagas una libreria q maneje numeros grandes.

Yo hace unos años hice una en object pascal para una materia y no era complicado. Solo necesitarias librerias de lista enlazada y saber como hacer una suma y una resta (la multiplicacion y la division son sumas y restas).

Creo q eso seria mejor. Pensa q si usas listas dinamicas podes representar numeros extremadamente gigantes (tan grandes como memoria para alocar nodos).

Salu2!!!!!!!!!!
P.D. : De ultima usa double

CiRRuS

  • Miembro MUY activo
  • ***
  • Mensajes: 218
    • Ver Perfil
    • http://zirrus.es
Re: Datos Demasiados Grandes
« Respuesta #6 en: Miércoles 4 de Febrero de 2004, 16:48 »
0
Implementarlos uno mismo  :blink: , ufff, ami me toco implementar una especie de bigint (número en base 2^16) ufff, y aquello era un poco lioso. Aunq sinceramente, una vez currada la suma y la resta, lo demás es ponerte a trabajar.

No sé, pero antes de tirarle horas a programar, yo probaría con alguna librería aunque como dice el dicho "El buen artesano se fabrica  :comp:  sus propias herramientas"  :D .

Nos vemos
Core Dumped
zirrus.es