elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Recuerda que debes registrarte en el foro para poder participar (preguntar y responder)


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  Java
| | | |-+  Problema al convertir de binario a hexadecimal (MAC)
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Problema al convertir de binario a hexadecimal (MAC)  (Leído 5,028 veces)
xopito

Desconectado Desconectado

Mensajes: 36


Ver Perfil
Problema al convertir de binario a hexadecimal (MAC)
« en: 10 Marzo 2011, 12:26 pm »

Hola,

bueno, explico mi programa.
Para introducir, estoy usando la librería JPcap para manejar los paquetes y demás cosas,

Primero meto en
byte b = tarjetas.mac_address[r];
que sería la tarjeta de red en cuestión y la MAC en código binario.

Para convertirlo, lo paso a hexadecimal así:

 macad[r]=(Integer.toHexString(b & 0xff));

Lo malo, es que, por ejemplo, la MAC de mi portátil empieza por "00:"
siendo una cadena de bits tal que "0000 0000", y al convertirlo a hexadecimal me queda "0:"
¿cuál sería la forma de hacer que me imprimiese los dos 0?

gracias,



En línea

egyware


Desconectado Desconectado

Mensajes: 526



Ver Perfil WWW
Re: Problema al convertir de binario a hexadecimal (MAC)
« Respuesta #1 en: 10 Marzo 2011, 20:25 pm »

Nunca hecho algo asi en Java, pero en C/C++
uso
Código
  1. printf("%p\n",0x0000);
  2.  
El cual me imprime en formato de puntero (igual es muy  util)
en java podrias hacer lo mismo pero con esto
Código
  1. System.out.printf("%p\n",0x0000);
  2.  

No se si exista formato "p" en java podrias intentar usar el "x" pero ese solo muestra un 0 en vez de 2.

Saludos!!


En línea

xopito

Desconectado Desconectado

Mensajes: 36


Ver Perfil
Re: Problema al convertir de binario a hexadecimal (MAC)
« Respuesta #2 en: 26 Marzo 2011, 11:43 am »

gracias, de todas formas, ya encontré un método que al parecer va mejor

System.out.print(" dir origen: ");
        for (int i = 0; i < 6; i++) {
            System.out.format("%02X%s", macOrigen, (i < macOrigen.length - 1) ? "-" : "");
        }
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines