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

capturar bigInteger

Estas en el tema de capturar bigInteger en el foro de Java en Foros del Web. hola! por medio de mi socket TCP transmito un número sin signo que ocupa 8 bytes, el long no me sirve porque es con signo. ...
  #1 (permalink)  
Antiguo 04/07/2011, 03:33
 
Fecha de Ingreso: marzo-2009
Mensajes: 509
Antigüedad: 15 años, 2 meses
Puntos: 17
capturar bigInteger

hola! por medio de mi socket TCP transmito un número sin signo que ocupa 8 bytes, el long no me sirve porque es con signo. Asi que estoy usando bigInteger.

En el cliente hago:

Código:
BigInteger big = new BigInteger("12254632286906037027");
        	
        	
        	/*byte[] enviar =  new byte[] {
            	(byte)(0xaa),
            	(byte)(0x11),
            	(byte)(0x33),
            	(byte)(0x23),
            	(byte)(0x1a),
            	(byte)(0x11),
            	(byte)(0x33),
            	(byte)(0x23)
            };*/
        	
        	byte[] enviar = big.toByteArray();
Y en el servidor recibo así:

Código:
int IBUTLength = 8;
byte[] prueba = new byte[8];
        	 	
        	 	for (int i = 0; i< IBUTLength; i++){
        	 		prueba[i] = (byte)dataInputStream.readUnsignedByte();
           	 	}   	
        	 	BigInteger big= new BigInteger(prueba);
        	 	
        	 	
            	System.out.println(big);
y me imprime con signo negativo

-6192111786803514589

¿Cómo puedo hacer para que no me pase esto? Gracias!
  #2 (permalink)  
Antiguo 04/07/2011, 04:57
 
Fecha de Ingreso: marzo-2009
Mensajes: 509
Antigüedad: 15 años, 2 meses
Puntos: 17
Respuesta: capturar bigInteger

Lo he descubierto, si a alguien más le pasa es:
Código:
BigInteger big = new BigInteger(1,prueba)
Saludos!

Etiquetas: Ninguno
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 09:50.