<html>
<head>
<style><!--
.hmmessage P
{
margin:0px;
padding:0px
}
body.hmmessage
{
font-size: 12pt;
font-family:Calibri
}
--></style></head>
<body class='hmmessage'><div dir='ltr'>buh Xd<div><br></div><div>yo de compiladores ni idea, con decirte q ni di instalado la libreria en win ya t puedes imaginar, la tuve q instalar en linux.</div><div><br></div><div>lo q si se es q esta libreria esta hecha en asembler. para manejar numeros de 50 digitos o mas, se la recomiendo a cualkiera.</div><div><br></div><div>hice en c++ un bucle para generar un numero de 100000 digitos y tarda como unos 30 segundos, con esta libreria no tarda ni 1</div><div><br></div><div>un saludo y gracias por tu tiempo</div><div><br><div>> Date: Mon, 16 Feb 2015 19:05:32 +0100<br>> From: juanjolistascorreo@gmail.com<br>> To: cconclase@listas.conclase.net<br>> Subject: Re: [C con Clase] multiplicar 2 variables<br>> <br>> el Mon, 16 Feb 2015 10:14:52 +0100<br>> pepe perez <darkmalka@hotmail.com> dijo:<br>> <br>> > a ver con esto<br>> > uint64_t a=44444444;uint64_t b=55555555;uint64_t c = a % b;<br>> > sale el resto de la division.<br>> > lo q yo kiero es multiplicar a*b y elresultado se supone q da 128<br>> > bits sobre el papel, en programacion directamente solo t puede dar 64<br>> > bits, y seran los primeros 64, pero como consigo los 64 ultimos? yo<br>> > sigo sin saberlo, pero ya no es necesario encontre una libreria hecha<br>> > por unos suecos q puedes hacer multiplicaciones d tantos bits como<br>> > disponga tu ram. cualkier operacion aritmetrica realmente<br>> > <br>> > gmplib.org para el q le interese<br>> > <br>> <br>> Nunca llegué a usar realmente el ensamblador, y mucho menos a<br>> dominarlo. Pero recuerdo que los X86 tenian instrucciones específicas<br>> para trabajar con datos de ancho superior al tamaño de palabra. Creo<br>> que una de las instrucciones permitia guardar el resultado en 2<br>> palabras, en lugar de 1 como es lo habitual, y ponia a 1 uno de los<br>> flags de la CPU.<br>> <br>> En otras palabras, el como se trabaja con datos que puedan exceder del<br>> tamaño de palabra del procesador depende por completo del compilador, y<br>> no es portable entre arquitecturas. Esto es uno de los motivos de la<br>> existencia de librerías como la que comentas: permitir operaciones de<br>> ancho arbitrario de manera portable.<br>> <br>> Si quieres prescindir de ella, debes mirar la documentación del<br>> compilador que utilices, o escribir tus propias funciones a mano en<br>> ensamblador.<br>> <br>> O, tal y como comentas, utilizar librerias escritas para ello ;-)<br>> <br>> _______________________________________________<br>> Lista de correo Cconclase Cconclase@listas.conclase.net<br>> http://listas.conclase.net/mailman/listinfo/cconclase_listas.conclase.net<br>> Bajas: http://listas.conclase.net/index.php?gid=2&mnu=FAQ<br></div></div>                                          </div></body>
</html>