Opérateurs au niveau du bit et de la chaîne Binaire évaluations

J'ai une mission où je dois convertir en hexadécimal de 16 bits en une chaîne binaire, puis de comparer deux à l'aide de ces opérateurs au niveau du bit. J'ai une boucle qui s'exécute a.charAt[i] & b.charAt[i] à un générateur de chaîne en chaîne. Maintenant, j'attends que la sortie d'un nombre binaire, mais j'arrive à un point où à chaque fois que la ligne s'exécute, il me donne les numéros qui ne sont pas de 0 ou de 1. Et il me donne 2 chiffres (2 et 3). Ce que je fais mal?

Code:

    int bin = 0;
    hex = hex.replaceFirst("0x", "");
    bin = Integer.parseInt(hex, 16);
    hex = String.format("%16s", Integer.toBinaryString(bin));
    return hex;

Les deux caractères hexadécimaux je suis en train de les évaluer sont FFF7 et 0001. J'ai réussi à convertir à des chaînes binaires. Aussi, je ne sais pas pourquoi, mais les précédents, les zéros ne sont pas montrés, juste les espaces :/

J'ai regardé en ligne intensivement pendant des heures et n'arrive pas à trouver le problème que j'ai.

  • Vous devriez inclure dans votre code. Il aide.
  • Les opérations binaires tels que & fonctionner sur tous les bits des deux numéros à la fois, non pas sur leurs bits individuels. C'est pourquoi le résultat de x & y peut être autre chose que 0 ou 1.