Estoy tratando de escribir un decodificador para un tipo muy simple de encriptación. Los números de 0 a 255 se ingresan a través del escáner, los bits se invierten, y luego se convierten a un personaje y se imprimen.¿Cómo puedo invertir bits de un byte sin signo en Java?
Por ejemplo, el número 178 debe convertirse a la letra "M".
178 es 10110010.
Invirtiendo todos los bits debe dar 01001101, que es 77 o "M" como un personaje.
El principal problema que tengo es que, por lo que puedo ver, Java no admite bytes sin signo. Podría leer valores como int o short, pero luego los valores estarán desactivados durante la conversión debido a los bits adicionales. Idealmente, podría usar el operador de complemento bit a bit, pero creo que terminaré obteniendo valores negativos si hago esto con números firmados. ¿Alguna idea sobre cómo debería abordar esto?
usted escogió un mal ejemplo, porque permite dos lecturas. – starblue
La máscara de bits era exactamente lo que necesitaba, no tenía idea de que pudieras hacer eso. Muy útil. Gracias a todos por las respuestas. – DavidKelly999