/*
Wenn wir den Trick mit dem bitweisen Komplement der eingelesenen Zahl
nicht anwenden wollen/duerfen, muessen wir die Schleifenbedingung
aendern. Wir brauchen eine Zaehlvariable, mit der wir sicherstellen,
dass alle 64 Bits betrachtet werden.
Auch die Bedingung in der if-Anweisung muss geaendert werden.

In dieser Loesung koennen wir auch den Operator >> verwenden,
da wir genau 64 Bit betrachten; es ist daher gleich, ob von links
Null oder das Vorzeichen nachgezogen wird.
*/



import JavaPack.*;

public class MehrNullen
{
  public static void main(String args[])
  {
    long n, nullen;
    System.out.print("Bitte geben Sie eine long-Zahl ein: ");
    System.out.flush();
    n = Einlesen.LiesLong();
    System.out.print("Die Binaerdarstellung des long-Werts " + n);

    nullen = 0;
    for(int i = 1; i <= 64; i++)
    {
      if((n & 0x1) == 0)
        nullen++;
      n >>>= 1;
    }

    System.out.println(" enthaelt " + nullen + " Null(en).");
  }
}
