Auf Thema antworten

Ich verstehe schlicht nicht, was Du genau versuchst. Der Ansatz mit dem

[CODE=java]        for (int f = 2; f >= 0; --f) {

           

            if ((vi & (1 << f)) == (0))

                System.out.print('0');

            else if ((vi & (2 >> f)) == (0))

                System.out.print('1');

            else

                System.out.print('2');

             

         }[/CODE]

ist doch von der Logik her schlicht falsch.


Das funktioniert im Dualsystem, da die Darstellung ja mit Bits ist und damit dual, aber jetzt geht es bei den Zahlen um das Dreiersystem. Da macht das keinerlei Sinn.


Egal was Du programmieren willst: Du musst immer erst die fachliche Komponente verstanden haben.  Das war der Grund, wieso ich das eine oder andere Erläutert hatte zu der Lösung.



Oben