Løsningsforslag - oppgaver i Vedlegg A.1.3


Oppgave 1

  public static void main(String... args) throws IOException
  {
    //011001110101100101101110111001010110001010011100
    byte[] b = {103,89,110,-27,98,-100};  // gir bitsekvensen over 
    BitInputStream inn = BitInputStream.fromByteArray(b);

    int k = inn.readBits(13);  // leser 13 biter, dvs. 0110011101011
    inn.unreadBits(5);         // legger de 5 siste tilbake, dvs. 01011
    k = inn.peek();            // ser på de 8 første, dvs. 01011001
    inn.unreadBit();           // feil! - unread ulovlig etter en peek

    inn.close();
  }

Oppgave 2

  byte[] b = {103,89,110,-27,98,-100};
  BitInputStream inn = BitInputStream.fromByteArray(b);

  inn.readBits(2); inn.readBits(31);
  System.out.println(inn.insertSize());  // Utskrift: 25