C# :: Gerade oder ungerade Zahl

C# 06 November, 2008

Die schnellste Möglichkeit zu erkennen, ob es sich bei einer Zahl um eine gerade oder ungerade Zahl handelt, führt über den letzen Bit einer Ganzzahl.

using System;

im Code am Beispiel einer Console:

int i = 0;

Console.WriteLine(“Bitte geben Sie eine Zahl ein:“);
i = int.Parse(Console.ReadLine());

if ((i & 1) == 1)
{
     Console.WriteLine(“Das ist eine UNGERADE Zahl“);
}
else
{
     Console.WriteLine(“Das ist eine GERADE Zahl“);
}

(i & 1) verknüpft nun alle Bits mit einer UND-Anweisung. Dabei wird jedes Bit mit mit dem dazugehörenden Bit von 1 kombiniert. Ist eins GLEICH 0, wird das entsprechende Bit auch auf 0 gesetzt:

   0110 0001
& 0000 0001
———-
   0000 0001

Damit sitzt das letzte Bit auf 1 und ist somit UNGERADE…

Hinterlasse einen Kommentar

Du musst eingeloggt sein um einen Kommentar zu schreiben.


20142 | 20081029