Det her viser det lidt enklere public void binary(int number) { int remainder; String result = \"\";
while (number > 1) { remainder = number%2; number /= 2; result = remainder + result; } result = number + result; System.out.println (result); }
number >> 1 er det samme som at dividere med 2 (bittene i tallet bliver flyttet en plads til højre) binary( ... ) er rekursiv (kalder sig selv). læg mærke til at de enkelte bits skal ind forest i mellemberegningerne. Dette skete før fordi metoden var rekursiv.
Hentydningen fra stigc giver jeg ham helt ret i. Det var ham som kom med algoritmen, jeg kendte ikke til den før jeg så den her.
Jeg hyggede mig bare selv med at forstå den og da der ikke var svar på dit andet spørgsmål, dagen efter lagde jeg min udgave ud
stigc har fortjent halvdelen.
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.