J'essaye d'écrire un décodeur pour un type de cryptage très simple. Numéros de 0 à 255 sont entrés via Scanner, les bits sont inversés, puis convertis en un caractère et imprimés.Comment puis-je inverser des bits d'un octet non signé en Java?
Par exemple, le nombre 178 doit être converti en la lettre "M".
178 est 10110010.
tous les Inversion des bits devrait donner 01.001.101, ce qui est 77 ou "M" comme un personnage.
Le principal problème que j'ai, c'est que, pour autant que je sache, Java ne supporte pas les octets non signés. Je pourrais lire les valeurs comme un int ou un court, mais ensuite les valeurs seront désactivées pendant la conversion en raison des bits supplémentaires. Idéalement, je pourrais simplement utiliser l'opérateur de complément bit à bit, mais je pense que je finirai par obtenir des valeurs négatives si je fais cela avec des nombres signés. Des idées sur comment je devrais aborder cela?
Vous avez choisi un exemple vraiment mauvais, car il permet deux lectures. – starblue
Le bitmask était exactement ce dont j'avais besoin - je ne savais pas que vous pouviez faire ça. Très utile. Merci à tous pour les réponses. – DavidKelly999