# C  -Umwandlung von char zu binär-



## 2Kim (26. Oktober 2010)

Hallo
Ich hab folgendes Problem:
Ich möchte Buchstaben in Binärcode umwandeln, (also zB möchte ich bei der Eingabe von 'e' als Ausgabe '1100101' bekommen).
Wie kann ich das in C bewerkstelligen?
Danke


----------



## deepthroat (26. Oktober 2010)

Hi.

also erstmal solltest du dir klar darüber sein, wie du das auf einem Blatt Papier machst, bevor du das in C bewerkstelligen willst.

Diese Frage gab's auch schon öfter. 

Gruß


----------



## vfl_freak (26. Oktober 2010)

Moin,

jeder Buchstabe (oder besser: jedes Zeichen) besitzt ja gem den ASCII-/ANSI-Tabellen ein hexadezimalen Wert !

Bei Deinem Beispiel also :
'e' = 0x065 = 101 (dezimal) = 1100101 (binär)

Du kannst also einfach den (hexa-)dezimalen Wert Deines char nehmen und in die Binärdarstellung konvertieren 

Goggle liefert hierzu bspw. diese Seite:
http://www.cinetix.de/interface/tiptrix/dec2bin.htm

Gruß
Klaus

*[EDIT]*
wieder mal zu spät .... :-(
*[/EDIT]*


----------



## 2Kim (26. Oktober 2010)

Erstmal Danke für die Antworten.
Wie das auf dem Papier und in der Theorie funktioniert ist mir klar -hab ja auch das Bsp "selbst erstellt" 

Evtl habe ich mein Problem falsch dargestellt:
ich möchte, dass ich nur einen Buchstaben eingeben muss, und mir das Programm dann die Binärdarstellung liefert. Mit welcher Funktion kann ich also Buchstaben umwandeln?
Srry falls das anfangs missverständlich war.


----------



## Bratkartoffel (26. Oktober 2010)

Hi,

kurz bei Google gesucht, das gefunden:

```
#include <limits.h>

char *chartobin ( unsigned char c )
{
    static char bin[CHAR_BIT + 1] = {0};
    int         i;

    for ( i = CHAR_BIT - 1; i >= 0; i-- )
    {
        bin[i] = (c % 2) + '0';
        c /= 2;
    }

    return bin;
}
```
Quelle: http://cboard.cprogramming.com/c-programming/42817-convert-char-binary.html (Post #7)

Gruß
BK


----------



## deepthroat (26. Oktober 2010)

2Kim hat gesagt.:


> Erstmal Danke für die Antworten.
> Wie das auf dem Papier und in der Theorie funktioniert ist mir klar -hab ja auch das Bsp "selbst erstellt"


Du hast lediglich eine Eingabe und die gewünschte Ausgabe gezeigt...


2Kim hat gesagt.:


> Evtl habe ich mein Problem falsch dargestellt:
> ich möchte, dass ich nur einen Buchstaben eingeben muss, und mir das Programm dann die Binärdarstellung liefert. Mit welcher Funktion kann ich also Buchstaben umwandeln?


Es gibt keine fertige Funktion (in Standard-C) dafür.

Du mußt einfach die binäre Darstellung des Buchstaben genauso wie auf dem Papier berechnen (durch Division mit Rest).

```
char c = 'A';

int r = c % 2;
```
Gruß


----------

