Auf Thema antworten

Da du keine Schleifen,  If , Methoden benutzen darfst, kannst  du es nur  hinter einander schreiben.

Ich habe die beiden Methoden „add4Bits“   und  „get4Bit“ genannt.


das wäre meine Lösungs Variante ist natürlich nicht getestet



[CODE=java]String mul4BitTo8Bit(String ob1, String ob2){


        String[] highNibble = {"0000","0"};

        String[] lowNibble = {"0000","0"};

        String  c;

     

        c = get4Bits(ob1,  ob2.charAt(0));

        lowNibble  = add4Bits(lowNibble[0], c );

        highNibble = add4Bits(highNibble[0], lowNibble[1]); // hNibble + carrybit

     

        //schieben

        lowNibble  = add4Bits(lowNibble[0], lowNibble[0]);

        highNibble = add4Bits(highNibble[0], highNibble[0]);

        highNibble = add4Bits(highNibble[0], lowNibble[1]);  // hNibble + carrybit

     

        c = get4Bits(ob1,  ob2.charAt(1));

        lowNibble  = add4Bits(lowNibble[0], c );

        highNibble = add4Bits(highNibble[0], lowNibble[1]); // hNibble + carrybit

     

        //schieben

        lowNibble  = add4Bits(lowNibble[0], lowNibble[0]);

        highNibble = add4Bits(highNibble[0], highNibble[0]);

        highNibble = add4Bits(highNibble[0], lowNibble[1]);  // hNibble + carrybit

     

        c = get4Bits(ob1,  ob2.charAt(2));

        lowNibble  = add4Bits(lowNibble[0], c );

        highNibble = add4Bits(highNibble[0], lowNibble[1]); // hNibble + carrybit

     

         //schieben

        lowNibble  = add4Bits(lowNibble[0], lowNibble[0]);

        highNibble = add4Bits(highNibble[0], highNibble[0]);

        highNibble = add4Bits(highNibble[0], lowNibble[1]);  // hNibble + carrybit

     

        c = get4Bits(ob1,  ob2.charAt(3));

        lowNibble  = add4Bits(lowNibble[0], c );

        highNibble = add4Bits(highNibble[0], lowNibble[1]); // hNibble + carrybit

     

        return highNible[0] + lowNible[0];

    }

    [/CODE]



Oben