Java - Rotar 1 bit a la derecha

 
Vista:

Rotar 1 bit a la derecha

Publicado por Pedro (4 intervenciones) el 13/11/2008 11:34:02
Me gustaría saber cómo rotar un bit a la derecha, por ejemplo el valor hexadecimal 3d (0011 1101) rotado 1 bit quedaría el valor hexadecimal 9E (1001 1110)

Si utilizo >> lo que hace es desplazar y no rotar, es decir, obtengo 1E (11110) en lugar de 9E (1001 1110).

¿Cómo podría hacerlo?
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Rotar 1 bit a la derecha

Publicado por Rene Gonzalez (115 intervenciones) el 13/11/2008 16:08:58
Se me ocurre que podrias preguntar si el numero es par o no, en caso de ser impar, podrias hacer un | (OR) con un numero tal (potencia de 2) que agregue el 1 donde tu quieras:

(es impar porque termina en 1)
0011 1101 >> 0001 1110 (30)
| 1000 0000 (128)
-----------------
1001 1110

Supongo que esta funcionalidad no esta implementada por el hecho de no saber a priori donde colocar el 1 en caso de rotacion de un impar. Espero te sirva.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar