kgc wrote:
> Er sørme blevet pænt og forståeligt siden første post 

 Virker det 
> efter hensigten nu?
> 
> Bare en tanke der lige faldt mig ind:
> int max = 5;
> int temp = dec;
> String bin = "";
> for(int i = max; i > 0; i--) {
>   int p = 2^i;
>   bin = bin + (temp/p);
>   temp = temp % p;
> }
> System.out.println(dec + " in binary is " + bin);
> 
> Ikke testet, ikke nødvendigvis bedre, men jeg syntes dog måske alligevel 
> det har en vis elegance og letlæselighed? Men OK, måske grunden til du i 
> første omgang ikke skrev hvad koden skulle gøre, var at du selv ville 
> finde en måde, frem for at få den serveret, og det er da 
> beundringsværdigt og fornuftigt hvis du er ved at lære.
> 
> 
> Mvh. Kasper
Nu var det rigtigt nok ikke metoden der spørges til; men det er da 
rigtigt at proplemet kan løses på mange elegante måder:
eksempelvis substraktion af potens:
int max = 5;
int loop = max - 1;
temp = dec;
bin = "";
while (loop >= 0) {
    if (temp - ((int) Math.pow(2, loop)) >= 0) {
       bin += "1";
       temp = temp - (int) Math.pow(2, loop);
       } else {
          bin += "0";
       }
         loop--;
       }
    System.out.println(dec + " in binary is " + bin);
}
Umiddelbart ulemper; da man ser på højeste betydende ciffer først, skal 
vi kende terminerings grundlaget før start.
Lettest må derfor være at kigge på lige/ulige shift startende med 
laveste betydende ciffer:
   int dec;
         int temp = dec;
         String bin = "";
         while (temp > 0) {
             bin = (temp % 2) + bin;
             temp = temp / 2;
         }
         System.out.println(dec + " equals:" + bin);
mvh
Hans