convertir byte a int???

No_tengo_ni_idea
02 de Junio del 2005
Hola, gracias de antemano por vuestra ayuda.
Estamos haciendo un proyecto de una estación meteorológica y tenemos que recibir los datos desde los sensores por linea serie (COM1) y al recibirlo lo guarda en un InputStream (lógicamente) y de ahí lo pasa a un BufferLectura byte a byte (BufferLectura es un array de 12 Bytes ( byte[] bufferLectura = new byte[12] ). Entonces esto que nos llega es la información del sensor codificada. Por ejemplo, el sensor de temperatura guarda en 12 bits un numero entero en binario que habría que pasar a int (aqui viene la duda) como pasar del BufferLectura a un simple int y de ahi con una formula conseguir la temperatura. Os agradeceria mucho la ayuda, ya que es una de las cosas que mas problemas nos está dando al grupo del proyecto. MUCHAS GRACIAS.

toribio_mr
02 de Junio del 2005
prueba esto:
String numero1 = new String ( bufferLectura );
int resultado = binaryToInt( numero1 );

y la función es:
int binaryToInt( String numero )
{ byte base = 2, cont = 0; int potencia = 0;

int temp = 0;

if( numero.length() > 16 )
{
JOptionPane.showMessageDialog( null, " binaryToInt no puede convertir un número mayor a 65,534nse llamó con "+numero, "ERROR", JOptionPane.ERROR_MESSAGE);
return 1;
}//if
else
{
for (int i = numero.length()-1; i >= 0; i--)
{
potencia = (int) java.lang.Math.pow( (double) 2, (double) cont );
cont++;

if ( numero.substring( i, i+1 ).equals( "1" ) )
{
temp += potencia;
}//if
}//for
return temp;
}//else
}//binaryToInt

espero te sirva.

no_tengo_ni_idea
02 de Junio del 2005
muchas gracias por la respuesta. Funciona perfecto. Hasta otra