C# :: Gerade oder ungerade Zahl
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…
KategorienC#
mherbert