programm C Binärzahl in Dezimalzahl umwandeln?
Hallo ich will ein Programm schreiben , das Binärzahlen in Dezimalzahlen umwandelt ich weiss, wie man das mathematisch macht ,ich kenne den Methode schon aber ich kann sie in C nicht anwenden ? oder weiss nicht wie das Programm geschrieben werden !!
2 Antworten
So könnte es klappen:
int bin2int ( char const * binary )
{
int result = 0;
for ( ; *binary; ++binary )
result = 2*result+(*binary=='1');
return result;
}
printf( "%d", bin2int("01101001") );
/* Binaere Zeichenkette in int umwandeln: */
int bin2int ( char const * binary )
{
int result = 0;
int pos;
/* Alle Binaerziffern von links nach rechts
verarbeiten ('\0' ist das String-Ende): */
for ( pos=0; binary[pos]!='\0'; ++pos )
if ( binary[pos]=='1' ) /* Ziffer '1' */
result = 2*result+1;
else /* Ziffer '0' */
result = 2*result;
return result;
}
So besser?
allmählich verstehe ich, warum man hier bei GF keine Fragen zu Hausaufgaben stellen soll (darf). du scheinst ja jede informatik-aufgabe postwendend hier abzulegen.
und irgendwie findest du immer wieder leute, die brav deine fragen beantworten. Wobei du die dann doch nicht verstehst.
Für dich scheint eine programmiersprache wie ein gedicht in chinesisch zu sein, was du durch auswendig lernen zu beherrschen suchst.
Ist informatik ein pflichtfach? Man muss nicht alles können.
können Sie das ein bisschen vereinfachen
ich habe die Antwort nicht verstanden