Umwandlung einer Dezimalzahl in eine Binärzahl mit dem Modulo

Mit Hilfe des Modulo ( % ) Operanden welcher den Rest einer Division ( 0 oder 1 ) berechnet wollen wir anhand des folgenden Beispiels eine eingegebene Dezimalzahl in eine Binärzahl umwandeln.

int dez,rest,zahl_neu;

Console.WriteLine("Geben Sie eine Dezimalzahl ein:");
dez = Convert.ToInt32(Console.ReadLine());

Console.Write("Die Binärzahl = ");

do
{
        rest = dez % 2;  //in rest wird 0 oder 1 gespeichert

        Console.Write("{0}", rest); // 0 oder 1 wird ausgegeben

        zahl_neu = dez / 2; //zahl_neu wird als Ganzzahl dividiert
        dez = zahl_neu; //und als neueDezimalzahl zugewiesen

} while (zahl_neu != 0); // Dividiere solange, solange die dez-Zahl > 0

Console.ReadLine();

 

Eine Umwandlung von einer Dezimalzahl in eine Binärzahl kann man aber auch einfacher durchführen.

 

Convert und Methode .ToInt32

Mit der Klasse Convert und der Methode .ToInt32 gefolgt von den Parametern (wert, Basis) kann man eine direkte Umrechnung durchführen. Basis = 2 für Binär bzw. 16 für Hex.

 

Beispiel:

 

int dez;

string bin;

Console.WriteLine("Geben Sie eine Dezimalzahl ein:");

dez = Convert.ToInt32(Console.ReadLine());

bin = Convert.ToString(dez, 2);

Console.Write("Die Binärzahl = "+bin);

Console.ReadLine();