elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.
 
Inicio Ayuda Ingresar Registrarse
08 Septiembre 2008, 19:35  



+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderador: ®®)
| | |-+  Numeros Gigantes
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] 2 Ir Abajo Imprimir
Autor Tema: Numeros Gigantes  (Leído 517 veces)
APOKLIPTICO

Desconectado Desconectado

Mensajes: 552


Don't talk to me if you ain't got the answer


Ver Perfil
Numeros Gigantes
« en: 05 Julio 2008, 05:40 »

Buen dia gente, ayer estaba aburrido y dije, voy a tratar de colgar mi compu haciendole calcular el factorial exponencial de un numero.

Esa funcion es en pseudo algo asi:

numero = 0

for(i = 0; i < limite; i++)
numero = i ^ numero
next

Siendo limite un numero natural o 0.

La funcion devolveria estos resultados:
Func(0) = 0
Func(1) = 1
Func(2) = 2
Func(3) = 9
Func(4) = 262144
Func(5) = 6.206069878660874 × 10 ^ 183230

Como ven es una funcion que necesita numeros grandes...
El tema es que no se como hacer para manejar numeros mas grandes que 64 bits,  ya que el factorial exponencial de 5 necesitaria aproximadamente 91615 bits para almacenarlo.

Alguna idea de como puedo hacerlo? me gustaria no tener que usar una libreria externa, pero si no hay otra posibilidad, como la uso?

Gracias.
En línea

DE VIAJE DESDE EL 6/9 HASTA 16/9!!

Y = (100/(100+(x-Pi/2)^8)) * (2-sin(7*x)-cos(30*x)/2)

Aprendiendo:
RFI: 10%
XSS: 70%
Exploits: 60%
Hack Wireless: 10%
Troyanos y Virus: 70%
Encriptacion y Cifrados: 40%
Windows: 90%
Linux: 40%
VB: 70%
C++: 20%
ASM: 5%
Batch: 90%
Java: 15%
Perl: 10%
Redes: 30%
Software: 70%
Hardware y OC: 50%
Guitarra: 20%
dooque

Desconectado Desconectado

Mensajes: 66


Ver Perfil
Re: Numeros Gigantes
« Respuesta #1 en: 05 Julio 2008, 06:26 »

taria bueno saber como hace "python" con los valores de tipo "Long" q es lo q estas buscando! en ese lenguaje no tenderias drama (me refiero al los valores no al tiempo de calculo jeje) si logro encontrar por ahi como hace python para manejar la memoria de este tipo de datos te cuento con gusto! hasta entonces...

saludos!!
En línea
ghastlyX
Moderador Global
*****
Desconectado Desconectado

Mensajes: 1.694


No es posible conseguir nada sin arriesgarse algo


Ver Perfil
Re: Numeros Gigantes
« Respuesta #2 en: 05 Julio 2008, 12:51 »

En C/C++ hay librerías externas para trabajar con números grandes. Hace unos meses a mi me surgió la necesidad de trabajar con números grandes e hice unas cuantas funciones para las operaciones que necesitaba, utilizando vectores donde cada casilla corresponde a cada uno de los dígitos del número que manejamos.

Un saludo de ghastlyX ;)
En línea
TheMaker

Desconectado Desconectado

Mensajes: 256



Ver Perfil
Re: Numeros Gigantes
« Respuesta #3 en: 05 Julio 2008, 13:01 »

unsigned lon long int, con ese tiene numeros positivos para parar un tren, en algunos compiladores hay k incluir limits.h totalmente standar
En línea
TheMaker

Desconectado Desconectado

Mensajes: 256



Ver Perfil
Re: Numeros Gigantes
« Respuesta #4 en: 05 Julio 2008, 13:05 »

tienes exactemente hasta  el +18,446,744,073,709,551,615 con eso tendras suficiente??? por cierto yo ese número no se ni leerlo xD 18 millones de billones??? XDD
En línea
ghastlyX
Moderador Global
*****
Desconectado Desconectado

Mensajes: 1.694


No es posible conseguir nada sin arriesgarse algo


Ver Perfil
Re: Numeros Gigantes
« Respuesta #5 en: 05 Julio 2008, 13:26 »

Lo que yo hablaba era de utilizar números de 200 ó 300 dígitos, para lo cual eso no sirve para nada, lo utilicé para un método criptógrafico que implementé tipo RSA en cuanto a números grandes.

Un saludo de ghastlyX ;)
En línea
neo007

Desconectado Desconectado

Mensajes: 82



Ver Perfil
Re: Numeros Gigantes
« Respuesta #6 en: 06 Julio 2008, 07:36 »

como dice ghastlyX lo mejor es utilizr un vector donde cada posicion sea un digito.... aunque necesitarias un vector del de 183230 :o así que creo que será mejor dejarlo así :P ya que el  unsigned lon long int que menciona TheMaker solo tiene  20 posiciones  :xD
En línea
winfuck

Desconectado Desconectado

Mensajes: 254



Ver Perfil
Re: Numeros Gigantes
« Respuesta #7 en: 06 Julio 2008, 07:57 »

you need libGMP http://gmplib.org/

cya
En línea

|_|0|_|
|_|_|0|
|0|0|0|
APOKLIPTICO

Desconectado Desconectado

Mensajes: 552


Don't talk to me if you ain't got the answer


Ver Perfil
Re: Numeros Gigantes
« Respuesta #8 en: 08 Julio 2008, 05:11 »

Veo que lo unico que me queda es armar las funciones con el array de numeros...
No me podrian poner las funciones asi no me las tengo que hacer devuelta?? plzzzz  ;D ;D ;D ;D

Thanks guys...
En línea

DE VIAJE DESDE EL 6/9 HASTA 16/9!!

Y = (100/(100+(x-Pi/2)^8)) * (2-sin(7*x)-cos(30*x)/2)

Aprendiendo:
RFI: 10%
XSS: 70%
Exploits: 60%
Hack Wireless: 10%
Troyanos y Virus: 70%
Encriptacion y Cifrados: 40%
Windows: 90%
Linux: 40%
VB: 70%
C++: 20%
ASM: 5%
Batch: 90%
Java: 15%
Perl: 10%
Redes: 30%
Software: 70%
Hardware y OC: 50%
Guitarra: 20%
winfuck

Desconectado Desconectado

Mensajes: 254



Ver Perfil
Re: Numeros Gigantes
« Respuesta #9 en: 08 Julio 2008, 05:21 »

Veo que lo unico que me queda es armar las funciones con el array de numeros...

que acaso no sabes leer?

OMG!

cya
En línea

|_|0|_|
|_|_|0|
|0|0|0|
Carloswaldo
Wiki

Desconectado Desconectado

Mensajes: 2.556


Lo que haría sería hacerme pasar por sordomudo...


Ver Perfil WWW
Re: Numeros Gigantes
« Respuesta #10 en: 08 Julio 2008, 05:35 »

Es la unica forma que hay sin depender de una librería externa. Por eso lo dijo.
En línea

"Ni la plata ni el oro de ellos podrá librarlos en el día del furor de Jehová." (Ezequiel 7:19)

Mi página personal:
http://sites.google.com/site/carloswaldo2/
Comunidad de idiomas
http://babelruins.tk/
Traducción de textos informáticos
http://foro.elhacker.net/-t218708.0.html
winfuck

Desconectado Desconectado

Mensajes: 254



Ver Perfil
Re: Numeros Gigantes
« Respuesta #11 en: 08 Julio 2008, 19:14 »

cierto, pero me gustaria saber porque a el le gustaria no usar una libreria, cualquiera sea su razon si le interesa podria leer el fuente de esa libreria para ver como es que lo hace y de alli sacar el conocimiento necesario para hacer su propia implementacion.

PD: No reinventes la rueda hijo, en todo caso, estudia y entiende su funcionamiento para ayudar a mejorarla ;)

cya
En línea

|_|0|_|
|_|_|0|
|0|0|0|
APOKLIPTICO

Desconectado Desconectado

Mensajes: 552


Don't talk to me if you ain't got the answer


Ver Perfil
Re: Numeros Gigantes
« Respuesta #12 en: 09 Julio 2008, 01:25 »

Es q me da paja...
Bueno, de todas maneras, el factorial exponencial de 7 es un numero tan grande que solo en memoria ocuparia varias decenas de megas....
Asi q, bueno, gracias x el interes de todas maneras!!
En línea

DE VIAJE DESDE EL 6/9 HASTA 16/9!!

Y = (100/(100+(x-Pi/2)^8)) * (2-sin(7*x)-cos(30*x)/2)

Aprendiendo:
RFI: 10%
XSS: 70%
Exploits: 60%
Hack Wireless: 10%
Troyanos y Virus: 70%
Encriptacion y Cifrados: 40%
Windows: 90%
Linux: 40%
VB: 70%
C++: 20%
ASM: 5%
Batch: 90%
Java: 15%
Perl: 10%
Redes: 30%
Software: 70%
Hardware y OC: 50%
Guitarra: 20%
Cab Calloway
Colaborador

Conectado Conectado

Mensajes: 4.266



Ver Perfil
Re: Numeros Gigantes
« Respuesta #13 en: 09 Julio 2008, 01:29 »

No lo creo... seguramente las librerías de las que hablan tienen funciones que trabajan con los números de una forma diferente a "números", lo mismo los tratan como vectores o a saber, el caso es que no creo que si usas una librería de las que te hablan, el número te ocupe "tantas megas".
En línea

Se busca gato.
winfuck

Desconectado Desconectado

Mensajes: 254



Ver Perfil
Re: Numeros Gigantes
« Respuesta #14 en: 09 Julio 2008, 02:21 »

Es q me da paja...
con esa actitud no llegaras a nada.

Bueno, de todas maneras, el factorial exponencial de 7 es un numero tan grande que solo en memoria ocuparia varias decenas de megas....
Asi q, bueno, gracias x el interes de todas maneras!!

7! = 5040

pero te cuento que con la libreria GMP un programa que calcula el factorial de 100000 ocupa como maximo 3MB de memoria.

cya
En línea

|_|0|_|
|_|_|0|
|0|0|0|
Páginas: [1] 2 Ir Arriba Imprimir 
Ir a:  







Consolas     La Web de Goku     MilW0rm     MundoDivx

Hispabyte     Truzone     TodoReviews     ZonaPhotoshop

hard-h2o modding    Foros de ayuda    Yashira.org    Videojuegos    indetectables.net   

Noticias Informatica    Seguridad Informática    ADSL    Foros en español    eNYe Sec

Todas las webs afiliadas están libres de publicidad engañosa.

Powered by SMF 1.1.6 | SMF © 2006-2008, Simple Machines LLC