Article View: chile.comp.programacion
Article #2584Re: Portar codigo C entre maquinas de 32/64 bits?
From: Andres E. Hernando
Date: Tue, 13 Dec 2005 05:45
Date: Tue, 13 Dec 2005 05:45
56 lines
2678 bytes
2678 bytes
On Mon, 12 Dec 2005 18:22:24 -0300, Esteban Navarro wrote: > no puedes usar un arreglo de 4 chars? Eso puede funcionar... lo voy a probar y te cuento, gracias. Saludos, AHG. > > Andres E. Hernando wrote: >> Hola! >> >> Seguro que estoy poniendo en evidencia lo oxidado que >> estoy, pero mi copia del Kernighan y Ritchie esta juntando >> polvo en Chile y necesito arreglar esto antes de irme... >> >> Bueno, por alguna razon (no importa cual) tengo que >> usar un generador de numeros pseudoaleatorios externo en >> Matlab. Por un tema de eficiencia, lo estoy haciendo en C >> usando mex files. >> >> El PRNG (Pseudo Random Number Generator) que tengo que >> usar es una version de KISS (Keep It Simple, Stupid) que usa >> operaciones de bits en uno de sus generadores. Basicamente, >> la siguientes lineas: >> >> y ^= y << 13; >> y ^= y >> 17; >> y ^= y << 5; >> >> Donde y es un numero de 32 bits... Y aqui esta todo >> mi problema, porque tengo que compartir esto y tiene que >> funcionar igual en maquinas de 32 y de 64 bits. Por lo que >> declarar y como "unsigned long int" no me funciona ya que >> en la maquina Linux donde tiene que correr, un "unsigned >> long int" es de 64 bits, asi que los shifts/xor me generan >> resultados distintos en cada maquina. >> >> Estoy seguro que debe haber una forma de asegurarme >> que y es siempre de 32 bits independiente de la arquitectura, >> pero hace como 4 annos que no programo en C... Algun puntero >> a la ayuda adecuada? >> >> Saludos, >> AHG. >> >> -- Democracy is two wolves and a lamb voting on what to have for lunch. Liberty is a well-armed lamb contesting the vote! --Benjamin Franklin msn: a_hernand@msn.com http://diferenciados.blogspot.com/ <-- mi huebloj! http://www.humanclock.com/clock.php <-- mi reloj!
Technical Details
Message-ID:
<4075fuF18utn8U2@individual.net>Path:
arc1-ca.pugleaf.net!g2news1.google.com!news1.google.com!fu-berlin.de!uni-berlin.de!individual.net!not-for-mailReferences:
<40656sF18epvjU1@individual.net> <dnkpmb$kvu$1@helcaraxe.dcc.uchile.cl>Show Full Headers
Complete Article Headers
X-Google-Thread: 1593cb,88c16e828b86c7df
X-Google-Attributes: gid1593cb,public
X-Google-Language: SPANISH,ASCII-7-bit
Path: arc1-ca.pugleaf.net!g2news1.google.com!news1.google.com!fu-berlin.de!uni-berlin.de!individual.net!not-for-mail
From: "Andres E. Hernando" <NOherSPnandoAM@fas.harvard.edu>
Newsgroups: chile.comp.programacion
Subject: Re: Portar codigo C entre maquinas de 32/64 bits?
Date: 13 Dec 2005 05:45:35 GMT
Lines: 56
Message-ID: <4075fuF18utn8U2@individual.net>
References: <40656sF18epvjU1@individual.net> <dnkpmb$kvu$1@helcaraxe.dcc.uchile.cl>
X-Trace: individual.net VQsnAl5XnTvM1oj9n0D6oARJBX6Axt3hIKq16F+78wbnCBxIQ5
X-Orig-Path: not-for-mail
User-Agent: tin/1.6.2-20030910 ("Pabbay") (UNIX) (CYGWIN_NT-5.1/1.5.18(0.132/4/2) (i686))