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.
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!