C/Visual C - Multiplicacion en 32 bits

 
Vista:

Multiplicacion en 32 bits

Publicado por Luis Toubes (2 intervenciones) el 01/06/2001 01:15:47
Que tal gente del mundo de c...

Realizando unas pruebas en un programtia en c, me he dado cuenta que la multiplicacion trabaja hasta el número 65535, es decir que si se me ocurre multiplicar el 2, 16 veces el resultado que se obtiene es 0.

Me comunicó a través de este medio para ver si existe alguna forma de obtener una multiplicacion en 32 bits, es decir hasta un número máximo de 2^32 = 4294967296.

Por cierto , el compilador de c que utilizo es el Turbo C de Borland.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Multiplicacion en 32 bits

Publicado por Germán B. (143 intervenciones) el 01/06/2001 03:33:04
Sí, tenés que usar el tipo long, que es como el int pero de 32 bits en lugar de 16. Si pretendés trabajar sin signo en ambos casos se requiere anteponer "unsigned", de otro modo queda reservada la mitad de los valores posibles para los negativos y la otra mitad para positivos.
G
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Multiplicacion en 32 bits

Publicado por Emilio (42 intervenciones) el 01/06/2001 16:49:07
G no entendiste la pregunta, si multiplicas dos numeros long es posible que el resultado no entre en un long.
Yo te recomiendo que guardes el resultado en un float y para imprimirlo usa solo su parte entera, recuerda que no puedes hacer casting porque perderias datos.
Ahora si quieres usar numeros muy grandes lo que tienes que hacer es un algoritmo donde puedas guardar el numero, te recomiento que uses un array por ejemplo si tienes un numero muy grande :
89734985794645645645645645645645624565675687......etc..
num[0]=8
num[1]=9
num[2]=7
num[3]=3 ......etc...
Asi puedes gurdar numeros muy grandes.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Multiplicacion en 32 bits

Publicado por Germán B. (143 intervenciones) el 01/06/2001 19:32:56
Pues no, en realidad lo que dijo es que a través de multiplicación no podía llegar a valores que superaran los 16 bits. Luego seguí el tema por email privado con él y el problema de fondo tampoco era ese, no tenía necesidad de superar los 32 bits. Lo que pretendía era armar un valor entero de 32 bits a partir de 4 caracteres, para lo que es más práctico usar operadores de bits (OR y desplazamiento) que hacer multiplicaciones.
G
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Multiplicacion en 32 bits

Publicado por Emilio (42 intervenciones) el 03/06/2001 15:20:11
OK!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar