/*
 * "Grundkurs Programmieren in Java - Band 1 (4. Auflage, 2007)"
 * 2001-2007, Carl Hanser Verlag
 * Loesungsvorschlag zu Aufgabe 5.11 (Version 4.0)
 * (c) 2001-2007 D. Ratz, J. Scheffler, D. Seese, J. Wiesenberger
 *
 */

import Prog1Tools.IOTools;

public class Binaer {

  public static void main (String[] args) {

    short i;
    long b, m;
    boolean neg;

    do { // Schleife zur wiederholten Durchführung des Programmes

      i = IOTools.readShort("   Dezimalzahl: ");
      neg = (i < 0);
      if (neg)
        i = (short) -i;

      b = 0;
      m = 1;

      while (i > 0) {
        b = b + (i % 2) * m;
        i = (short) (i / 2);
        m = m * 10;
      }

      if (neg)
        b = -b;

      System.out.println("als Binaerzahl: " + b + "\n");
      }
    while (b != 0);
  }
}

/*

Ablaufprotokolle:

   Dezimalzahl: 21
als Binaerzahl: 10101

   Dezimalzahl: 7
als Binaerzahl: 111

   Dezimalzahl: 32767
als Binaerzahl: 111111111111111

*/

