Foros del Web » Programación para mayores de 30 ;) » Java »

[SOLUCIONADO] concatenacion de variables short

Estas en el tema de concatenacion de variables short en el foro de Java en Foros del Web. buenos dias , deseo hacer una concatenacion de dos variables tipo short , para obtener un tipo float , o real de tipo flotante , ...
  #1 (permalink)  
Antiguo 15/04/2016, 08:44
 
Fecha de Ingreso: abril-2016
Mensajes: 7
Antigüedad: 8 años, 7 meses
Puntos: 0
Pregunta concatenacion de variables short

buenos dias , deseo hacer una concatenacion de dos variables tipo short , para obtener un tipo float , o real de tipo flotante , alguno tiene una idea o me puede ayudar , con que comandos realizar esto , muchas gracias
  #2 (permalink)  
Antiguo 15/04/2016, 09:37
Avatar de chuidiang
Colaborador
 
Fecha de Ingreso: octubre-2004
Mensajes: 3.774
Antigüedad: 20 años, 1 mes
Puntos: 454
Respuesta: concatenacion de variables short

Hola

¿Y cómo pretendes concatenarlas? Si tienes un short que es 22 y otro short que es 33 y los concatenas, ¿qué float esperas obtener? ¿O hablas de concatenar 2 bytes con otros 2 bytes y luego interpretarlo como float?

Se bueno.
__________________
Apuntes Java
Wiki de Programación
  #3 (permalink)  
Antiguo 18/04/2016, 07:37
 
Fecha de Ingreso: abril-2016
Mensajes: 7
Antigüedad: 8 años, 7 meses
Puntos: 0
Respuesta: concatenacion de variables short

hablo de concatenar 2 bytes con otros 2 bytes y luego interpretarlo como float, ya hice la concatenación de la sigueitne forma

valor = (value2 | (value1 << 16));
System.out.printf("%h\n", valor);

conv= (float) valor;

System.out.println(Double.longBitsToDouble(valor)) ;

System.out.println(Long.toBinaryString(valor));

System.out.printf ("%7.3e %n",conv);

desafortunadamente no se como imprimir el valor de forma adecuada, el resultado en consola son los siguientes, y pues no entiendo ya que el valor binario es el correcto, pero el float no

41bc00cd
5.448753633E-315
1000001101111000000000011001101
1,103e+09
  #4 (permalink)  
Antiguo 18/04/2016, 08:53
Avatar de chuidiang
Colaborador
 
Fecha de Ingreso: octubre-2004
Mensajes: 3.774
Antigüedad: 20 años, 1 mes
Puntos: 454
Respuesta: concatenacion de variables short

hola:

Si tienes dos short (dos bytes + dos bytes) y los concatenas, obtienes como mucho un entero, resultado de primer short * 65536 + segundo short.

Otro tema es que tengas un float, que por el motivo que sea, te llega como dos bytes primero y dos bytes luego. Esas parejas de bytes no sería short, sino "trozos" de un float que no tienen sentido por sí solos.

Un double serían 8 bytes.

Se bueno.
__________________
Apuntes Java
Wiki de Programación
  #5 (permalink)  
Antiguo 18/04/2016, 10:46
 
Fecha de Ingreso: abril-2016
Mensajes: 7
Antigüedad: 8 años, 7 meses
Puntos: 0
Respuesta: concatenacion de variables short

ya lo solucione de la siguiente forma

static short value1 = 0x41bc;
static short value2 = 0x00cd;
static int valor;
static float conv ;


valor = (value2 | (value1 << 16));

val=String.valueOf(valor);

System.out.printf("%h\n", valor);

conv= Float.valueOf(valor);

System.out.println(valor);


ahora si , me imprime el resutado correcto , muchas gracias chuidiang

Etiquetas: variables
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 22:22.