Løsningsforslag - oppgaver i Avsnitt 5.1.4


Oppgave 1

Start med en 1-bit og finn resten
av bitene ved å gå fra roten og
ned til noden med tallet:

 1  =  1        9  =  1001
 2  =  10      10  =  1010
 3  =  11      11  =  1011
 4  =  100     12  =  1100
 5  =  101     13  =  1101
 6  =  110     14  =  1110
 7  =  111     15  =  1111
 8  =  1000



Oppgave 2

  int n = 15;
  for (int i = 1; i <= n; i++)
  {
    if (i < 10) System.out.print(' ');
    System.out.println(i + " = " + Integer.toBinaryString(i));
  }

Oppgave 3

  for (int i = 1; i <= 15; i++)
  {
    if (i < 10) System.out.print(' ');
    System.out.print(i + " = ");
    int k = Integer.highestOneBit(i);
    while (k > 0)
    {
      if ((k & i) == 0) System.out.print(0);
      else System.out.print(1);
      k >>= 1;
    }
    System.out.println();
  }