Buscar
Social
Ofertas laborales ES

Foro sobre Java SE > Repartir la información de un tipo primitivo en otros

Hola.

¿Cómo puedo hacer para poder tomar un número de tipo, long o double, por ejemplo, y guardarlo en variables de tipo primitivo más pequeño; es decir, repartir los 64 bits de un número entre, p. ej., dos int o cuatro shorts y después recuperalo a partir de éstos con el mismo tipo que tenía?

Si me lo pudieran explicar lo agradecería mucho.

Saludos :).

abril 9, 2016 | Registered Commenterangelns

Si es como práctica, se me ocurre que conviertas a hexadecimal, tomes los valores ponderados, los conviertes a decimal int o short. ejemplo:
123458 ->1E242 HEX
A=2 *1 -->2
B=4 *16 -->64
C=2 *256 -->512
D=14 *4096 -->57344
E=1 *65536 -->65536
Tus valores serian 2,4,2,14,1. Para volver a armar el numero original multiplicarias por su valor de ponderacion.
Lo mismo en decimal:
123458:
a=8 *1 -->8
b=5 *10 -->50
c=4 *100 -->400
d=3 *1000 -->3000
e=2 *10000 -->20000
f=1 *100000 -->100000

con hexdecimal ocupas menos valores.

abril 11, 2016 | Unregistered Commentercommodore64

Muchas gracias, aunque ya lo había conseguido de otra manera.

abril 12, 2016 | Registered Commenterangelns