Hola,
Necesito pasar datos de una variable byte con 8 bits a otra de la siguiente forma.
Variables iniciales:
byte x = 00000001 byte y = 01000011
Ir pasando bits
0-) 00000001 01000011 (iniciales)
1-) 00000010 10000110
2-) 00000101 00001100
3-) 00001010 00011000
4-) 00010100 00110000
5-) 00101000 01100000
6-) 01010000 11000000
7-) 10100001 10000000
Básicamente consiste en ir desplazando uno a uno hacia la izquierda los bits de la segunda cadena a la primera e ir completando con ceros el final de la segunda cadena.
Para completar con ceros , utilizo el operador "bitshift left" de esta forma:
byte x = B11111111;
byte resultado = x << 1; // resultado es 11111110
Pero aun no he encontrado nada para desplazar los bits. Si pudiera utilizar variables con capacidad para 16 bits todo seria mas fácil, ya que solo tendria que unir las dos de 8 bits (que por cierto, tampoco se cómo hacerlo)
,
//no es posible compilarlo
byte x = B1111111111111111;
byte resultado = x << 1; //resultado es 1111111111111110 (ya se ha desplazado)
Alguna sugerencia?
Saludos