# [C] integer Zahl in binäre Zahl umwandeln



## at0m1c (24. Oktober 2002)

Ja also ich soll ohne bestehende Funktion eine integer Zahl (letzte ist bei mir 2^16) in die binäre Zahl umgewandelt werden. Ich weis zwar dass ich dazu / und % brauche aber ich kann mir nicht vorstellen wie das funktionieren sollte.

Bis jetzt hab ich es nur geschafft die Zahl 2 ins binäre umzuschreiben. Könnt ihr mir helfen?


----------



## Dario Linsky (25. Oktober 2002)

probier mal das hier:

```
int i = 20, j;
while (i > 0)
{
  j = i % 2;
  if (j > 0) { cout << "1"; } else { cout << "0"; }
  i = i / 2;
}
```

dabei bekommst du allerdings noch den binärcode in falscher reihenfolge (müsste man also von hinten nach vorne lesen). am besten verwendest du anstelle von cout ein array, das du zum schluss noch umdrehst, dann passt es.


----------



## at0m1c (25. Oktober 2002)

ok thx

*edit*: Ich möchte das gerne ohne Arrays machen also nur mit Ausgabe, wo gleich die richtige Reihenfolge da steht.


----------



## Matthias Reitinger (25. Oktober 2002)

```
int i = 12345; // dein integer

for (char x=15; x>=0; x--) {
	if (i & 1<<x) {
		cout << "1";
	} else {
		cout << "0";
	}
}
```


----------



## at0m1c (25. Oktober 2002)

bei deinem bsp vervielfältigt er die binär stellen ich glaub er quadriert die 15 und zeigt dadurch mehrmals das gleiche an


----------



## Dario Linsky (25. Oktober 2002)

in dem beispiel wird die binärzahl immer mit 15 bits ausgegeben - bei mir zumindest.


----------



## at0m1c (26. Oktober 2002)

macht das vllt was wenn ich borland compiler hab?


----------

