• Sábado 20 de Abril de 2024, 04:20

Autor Tema:  Un cuestión de cálculo  (Leído 986 veces)

De Profundiis

  • Miembro activo
  • **
  • Mensajes: 89
    • Ver Perfil
Un cuestión de cálculo
« en: Domingo 26 de Enero de 2003, 21:08 »
0
Hola de nuevo!

Tengo una pequeña duda...

en un Pentium III de Intel, bajo Linux y compilando con gcc hice el siguiente cálculo:

87x87x87x87x87 y lo metí en una variable de tipo unsigned long int.

Al mostrarla por pantalla me daba un resultado mayor que 6.000 millones, pero
resulta que el resultado correcto es 4.984.209.207.
Supongo que se debe a que una variable de ese tipo tiene 32 bits de tamaño (o sea 4 bytes) y, por lo tanto, su rango va de 0 a 4.294.967.295. Es decir, la operación se sale del rango.
Entonces ¿cómo puedo calcular esa operación? ¿Tengo que utilizar a la fuerza una variable de tipo double o long double? El caso es que necesito que  la variable sea entera, puesto que luego quiero calcular su módulo...

¿Alguien sabría cómo hacerlo o la forma apropiada de resolver el cálculo?

Muchas gracias de antemano.
Saludos.