2 Stimmen

Hilfe bei der Umwandlung von Hex in Boolesche Werte?

Ich bin neu in Java. Ich lerne gerade.

Ich versuche, Folgendes zu tun: eine hexadezimale Zeichenkette in eine binäre Zeichenkette umwandeln, dann die binäre Zeichenkette in eine Reihe von Booleschen Werten verarbeiten.

    public static void getStatus() {
    /*
     * CHECKTOKEN is a 4 bit hexadecimal 
     * String Value in FF format. 
     * It needs to go into binary format 
     */
    //LINETOKEN.nextToken = 55 so CHECKTOKEN = 55
    CHECKTOKEN = LINETOKEN.nextToken();
    //convert to Integer  (lose any leading 0s)
    int binaryToken = Integer.parseInt(CHECKTOKEN,16);
    //convert to binary string so 55 becomes 85 becomes 1010101
    //should be 01010101
    String binaryValue = Integer.toBinaryString(binaryToken);
    //Calculate the number of required leading 0's
    int leading0s = 8 - binaryValue.length();
    //add leading 0s as needed
    while (leading0s != 0) {
        binaryValue = "0" + binaryValue;
        leading0s = leading0s - 1;
    }
    //so now I have a properly formatted hex to binary
    //binaryValue = 01010101
    System.out.println("Indicator" + binaryValue);
    /*
     * how to get the value of the least 
     * signigicant digit into a boolean 
     * variable... and the next?
     */
}

Ich denke, es muss eine bessere Möglichkeit geben, die Aktion durchzuführen. Dies ist nicht elegant. Außerdem stecke ich mit einem binären String-Wert fest, der irgendwie verarbeitet werden muss.

3voto

Michael Barker Punkte 13553
public static void main(String[] args) {

    String hexString = "55";

    int value = Integer.parseInt(hexString, 16);

    int numOfBits = 8;

    boolean[] booleans = new boolean[numOfBits];

    for (int i = 0; i < numOfBits; i++) {
        booleans[i] = (value & 1 << i) != 0;
    }

    System.out.println(Arrays.toString(booleans));
}

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X