Feedback

C# - Dezimal in Binär umwandeln

Veröffentlicht von am 16.11.2009
(2 Bewertungen)
Einfache Methode die einen Bytewert in einen 8-Bit-String umwandelt.
GFU-Schulungen  [Anzeige]

Visual Studio Team Foundation Server 2017/2015 (TFS) für Entwickler - Kompakt

Nach Teilnahme an dieser Schulung kennen Sie alle wesentlichen Funktionen des TFS für Entwickler. Sie setzen Software-Entwicklung mit dem Visual Studio Team Foundation Server erfolgreich um.

VB.NET Einführung

Die Schulung zeigt Ihnen, wie Sie einfache, benutzerorientierte Programme, die auf Datenbanken zugreifen, in VB.NET eigenständig entwickeln. 

private byte[] bitwert = { 128, 64, 32, 16, 8, 4, 2, 1 };
private byte[] bits = new byte[8];
public string dec2bin(byte Bytewert)
{
    string bitstring = string.Empty; for (int Counter = 0; Counter < 8; Counter++)
    {
        if (Bytewert >= bitwert[Counter])
        {
            bits[Counter] = 1; Bytewert -= bitwert[Counter];
        }
        bitstring += Convert.ToString(bits[Counter]);
    }
    return bitstring;
}

2 Kommentare zum Snippet

Thomas Söhne schrieb am 17.11.2009:
Hi NB01,

ich hab das mal so gemacht:
public string dec2bin(long dezimalzahl, int bitanzahl)
{
StringBuilder sb = new StringBuilder();
for (int i = 0; i < bitanzahl; dezimalzahl = dezimalzahl >> 1,i++)
sb.Insert(0, dezimalzahl & 1);
return sb.ToString();
}

Damit ist man nicht auf ein Byte beschränkt und vermutlich läuft das bitshiften schneller als das -=.

Gruß,
Thomas
Martin Hey schrieb am 19.11.2009:
Hi zusammen,

warum eigentlich so kompliziert, das Framework hat doch genau diese Funktionalität schon?
string bitstring = Convert.ToString(bytewert, 2).PadLeft(8,'0');


Grüße
Martin
 

Logge dich ein, um hier zu kommentieren!