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

Insertar bits en un array

Estas en el tema de Insertar bits en un array en el foro de Java en Foros del Web. Hola señores y señoritas. Mi problema es el siguiente. Debo transmitir una serie de bits a un puerto paralelo y mi pregunta es como los ...
  #1 (permalink)  
Antiguo 25/09/2010, 04:45
 
Fecha de Ingreso: septiembre-2010
Mensajes: 9
Antigüedad: 13 años, 7 meses
Puntos: 0
Pregunta Insertar bits en un array

Hola señores y señoritas.

Mi problema es el siguiente. Debo transmitir una serie de bits a un puerto paralelo y mi pregunta es como los guardo en un array para despues usarlos. La cuestion es que debo insertarlos de 4 en 4 bits. Es decir por ejemplo la instruccion elegida es 0001 1010 y debo , meterlos en un array. No se la forma para poder hacer la introduccion de 0001 y despues sucesivamente los siguientes 1010, etc. Tampoco se que tipo de dato utilizar.Gracias de antemano.

Un saludo.
  #2 (permalink)  
Antiguo 25/09/2010, 14:10
Avatar de chuidiang
Colaborador
 
Fecha de Ingreso: octubre-2004
Mensajes: 3.774
Antigüedad: 19 años, 7 meses
Puntos: 454
Respuesta: Insertar bits en un array

Hola:

Usa datos byte para el array.

Luego, para meter bits sueltos, usa los operadores << y operadores lógicos

Los cuatro bits de la izquierda son simples. Si quieres poner 0101 (un 5 decimal), basta asignarlo.

byte[i] = 5; // ahora contiene 0000-0101

Para los otros, desplaza bits y usa un or, por ejemplo, para poner un 0011 (un 3), primero desplaza eso cuatro bits a la izquierda

3 << 4; // esto da 0011-0000

y haz un or con el byte que ya tienes

byte[i] = byte[ì] | (3<<4);

En fin, quizás esto no te sirva exactamente así, pero imagino que te da la pista de por donde tirar.

Se bueno.
__________________
Apuntes Java
Wiki de Programación
  #3 (permalink)  
Antiguo 26/09/2010, 13:15
 
Fecha de Ingreso: septiembre-2010
Mensajes: 9
Antigüedad: 13 años, 7 meses
Puntos: 0
Respuesta: Insertar bits en un array

Hola chuidiang;

Muchas gracias por tu respuesta tan rápida y por tu tiempo. Creo que es lo que estaba buscando, tiene muy buena pinta. Cuando lo implemente, te comento, pero para mi que me va a servir a la perfección.

Cuidese.
  #4 (permalink)  
Antiguo 26/09/2010, 15:17
 
Fecha de Ingreso: septiembre-2010
Mensajes: 9
Antigüedad: 13 años, 7 meses
Puntos: 0
Respuesta: Insertar bits en un array

Cita:
Iniciado por dailos Ver Mensaje
Hola chuidiang;

Muchas gracias por tu respuesta tan rápida y por tu tiempo. Creo que es lo que estaba buscando, tiene muy buena pinta. Cuando lo implemente, te comento, pero para mi que me va a servir a la perfección.

Cuidese.
He estado buscando como imprimir por pantalla, los bytes que inserto en la matriz. Pero lo que me muestra es el valor en decimal, esta claro.
Por ejemplo:
Creo mi matriz de bytes.
byte miArraydeBytes = new byte[80];
Inserto el decimal 3
miArraydeBytes[0] = 3 (0000 0011)
Con el System.out.println(miArraydeBytes[0]) me sale el numero 3.
Me he vuelto loco haciendo casting y usando metodos parse pero no consigo ver los bits que contiene el byte. Lo necesito, para comprobar si los voy introduciendo de la manera correcta.

Gracias por la ayuda.

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 18:38.