Gohan
2008-10-13, 22:16:44
Hi, habe die Aufgabe gehabt einen Binärcodierer in einem Unterprogramm zu schreiben. Der Main teil war vorgegeben:
#include <stdio.h>
int main()
{
char binzahl[132];
int intzahl;
void int2bin(char *binzahl, int intzahl);
scanf("%d", &intzahl);
int2bin(binzahl, intzahl);
printf("Dezimal: %d, Binaer: %s\n", intzahl, binzahl);
while(1);
}
void int2bin(char *binzahl, int intzahl)
{
int x, i;
char binzahl2[132];
x = 0;
i = intzahl;
while(i!=0)
{
binzahl2[x]='0'+i%2;
i = i / 2;
x++;
}
x = x-1;
for(i=0;x>=0;x--,i++)
{
binzahl[i]=binzahl2[x];
}
}
Der funktioniert auch wunderbar, bloß bei Zahlen < 8 spuckt der nur noch Müll aus, aber ich habe keine Ahnung warum? :( Wäre für etwaige Tipps sehr dankbar :)
#include <stdio.h>
int main()
{
char binzahl[132];
int intzahl;
void int2bin(char *binzahl, int intzahl);
scanf("%d", &intzahl);
int2bin(binzahl, intzahl);
printf("Dezimal: %d, Binaer: %s\n", intzahl, binzahl);
while(1);
}
void int2bin(char *binzahl, int intzahl)
{
int x, i;
char binzahl2[132];
x = 0;
i = intzahl;
while(i!=0)
{
binzahl2[x]='0'+i%2;
i = i / 2;
x++;
}
x = x-1;
for(i=0;x>=0;x--,i++)
{
binzahl[i]=binzahl2[x];
}
}
Der funktioniert auch wunderbar, bloß bei Zahlen < 8 spuckt der nur noch Müll aus, aber ich habe keine Ahnung warum? :( Wäre für etwaige Tipps sehr dankbar :)