Hallo,
ich bin neu hier im Forum und versuche mich auch erst seit kurzem in der Programmiersprache PHP (was man an meine geposteten Code wahrscheinlich sehr schnell feststellen wird). Als Einstieg versuche ich zur Zeit eine kleinen Taschenrechner zu programmieren. Bis zu den Grundrechenarten hat alles mehr schlecht als recht (keine Fehlerabfrage z.B: wenn man Buchstaben statt Zahlen eingibt) funktioniert. Jetzt versuche ich eine kleine Umrechner von Dezimalzahlen ins Binärsystem zu programmieren. Doch leider komme ich damit nicht weitert. Habe schon mehrere Threads durch geschaut aber leider nichts gefunden. Das Problem liegt auch mehr darin das ich nicht weiß wo der Fehler liegt. Denn geh ich meine Code gedanklich durch müsste es (eigentlich) klappen.
Bin auch der Meinung das der Code soweit richtig ist nur meine Stringausgabe nicht funktioniert, da er immer die auszugebende Variable überschreibt. Hab schon versucht die Variablen mit "." zu verbinden. Allerdings klappt das nicht so richtig.
Kurz zu meinem Code:
Hab ein HTML-Formular geschrieben das eine Zahl an eine php-Datei schickt. Dies funktioniert auch (hab mir die Zahl mit "echo" ausgeben lassen). Hab eine if-Schleife gebastelt die solange durchlaufen werden sollange die Bedingung ($ergebnis) >=0 ist, Rufe in der Schleife eine Funktion auf "binaer()" die einmal mit "%"-Rechnung den Rest berechnet und einem mit "/"-Rechnung das Ergebnis für den nächsten Schritt (nächsten Schleifendurchlauf) berechnet. Nun bin ich mir auch leider nicht sicher ob die Schleife bis zum Bedingungsabbruch durchläuft (Leider gibt es in Dreamweaver keinen Debugmodus wie in Eclipse oder Microsoft Visual Studio wo man den Code Zeile für Zeile mit Ausgabe durchgehen kann). Mein zweites Ziel ist dann nach jedem Funktionsaufruf das Ergebnis der Restberechnung ($anzahl_4) an einem String zu ketten und auszugeben. Was wie oben schon beschrieben nicht funktioniert. Was die Reihenfolge der Ausgeb der Binärwerte angeht habe ich mir noch keinen Kopf gemacht (da sie ja erstmal verkehrt herum ausgegeben werden). Um einen Sortierungsalgorithmus wollt ich mich erst später kümmern wenn ich das Ausgabe bzw. Berechnungsproblem im Griff habe.
Der Code:
<?php
$anzahl_1 = $_POST['zahl1'];
echo("<br> Eingabe: $anzahl_1");
$zwei = 2;
$ergebnis = $anzahl_1;
if($ergebnis >= 0){
function binaer(){
$GLOBALS[ergebnis_1] = $GLOBALS[ergebnis] / $GLOBALS[zwei];
$GLOBALS[anzahl_4] = $GLOBALS[ergebnis] % $GLOBALS[zwei];
$ergebnis_2 = (int)$GLOBALS[ergebnis_1];
echo("<br><br>$GLOBALS[anzahl_4]");
$GLOBALS[ergebnis] = $ergebnis_2;
}
binaer();
$ausgabe;
$neu = $ausgabe.$anzahl_4;
echo $neu;
}
?>
Mein gedankliches Ziel ist (Bsp: Zahl 49):
49 : 2 = 24 Rest: 1
24 : 2 = 12 Rest: 0
12 : 2 = 6 Rest: 0
6 : 2 = 3 Rest: 0
3 : 2 = 1 Rest: 1
1 : 2 = 0 Rest: 1
Resultat: 110001
Ausgegeben werden soll aber nur das Resultat.
Über eure Hilfe würde ich mich sehr freuen, da ich schon vieles Versucht habe und absolut nicht weiß wo mein Denkfehler ist.
Viel Dank schon mal im vorraus und Grüße Martin
ich bin neu hier im Forum und versuche mich auch erst seit kurzem in der Programmiersprache PHP (was man an meine geposteten Code wahrscheinlich sehr schnell feststellen wird). Als Einstieg versuche ich zur Zeit eine kleinen Taschenrechner zu programmieren. Bis zu den Grundrechenarten hat alles mehr schlecht als recht (keine Fehlerabfrage z.B: wenn man Buchstaben statt Zahlen eingibt) funktioniert. Jetzt versuche ich eine kleine Umrechner von Dezimalzahlen ins Binärsystem zu programmieren. Doch leider komme ich damit nicht weitert. Habe schon mehrere Threads durch geschaut aber leider nichts gefunden. Das Problem liegt auch mehr darin das ich nicht weiß wo der Fehler liegt. Denn geh ich meine Code gedanklich durch müsste es (eigentlich) klappen.
Bin auch der Meinung das der Code soweit richtig ist nur meine Stringausgabe nicht funktioniert, da er immer die auszugebende Variable überschreibt. Hab schon versucht die Variablen mit "." zu verbinden. Allerdings klappt das nicht so richtig.
Kurz zu meinem Code:
Hab ein HTML-Formular geschrieben das eine Zahl an eine php-Datei schickt. Dies funktioniert auch (hab mir die Zahl mit "echo" ausgeben lassen). Hab eine if-Schleife gebastelt die solange durchlaufen werden sollange die Bedingung ($ergebnis) >=0 ist, Rufe in der Schleife eine Funktion auf "binaer()" die einmal mit "%"-Rechnung den Rest berechnet und einem mit "/"-Rechnung das Ergebnis für den nächsten Schritt (nächsten Schleifendurchlauf) berechnet. Nun bin ich mir auch leider nicht sicher ob die Schleife bis zum Bedingungsabbruch durchläuft (Leider gibt es in Dreamweaver keinen Debugmodus wie in Eclipse oder Microsoft Visual Studio wo man den Code Zeile für Zeile mit Ausgabe durchgehen kann). Mein zweites Ziel ist dann nach jedem Funktionsaufruf das Ergebnis der Restberechnung ($anzahl_4) an einem String zu ketten und auszugeben. Was wie oben schon beschrieben nicht funktioniert. Was die Reihenfolge der Ausgeb der Binärwerte angeht habe ich mir noch keinen Kopf gemacht (da sie ja erstmal verkehrt herum ausgegeben werden). Um einen Sortierungsalgorithmus wollt ich mich erst später kümmern wenn ich das Ausgabe bzw. Berechnungsproblem im Griff habe.
Der Code:
<?php
$anzahl_1 = $_POST['zahl1'];
echo("<br> Eingabe: $anzahl_1");
$zwei = 2;
$ergebnis = $anzahl_1;
if($ergebnis >= 0){
function binaer(){
$GLOBALS[ergebnis_1] = $GLOBALS[ergebnis] / $GLOBALS[zwei];
$GLOBALS[anzahl_4] = $GLOBALS[ergebnis] % $GLOBALS[zwei];
$ergebnis_2 = (int)$GLOBALS[ergebnis_1];
echo("<br><br>$GLOBALS[anzahl_4]");
$GLOBALS[ergebnis] = $ergebnis_2;
}
binaer();
$ausgabe;
$neu = $ausgabe.$anzahl_4;
echo $neu;
}
?>
Mein gedankliches Ziel ist (Bsp: Zahl 49):
49 : 2 = 24 Rest: 1
24 : 2 = 12 Rest: 0
12 : 2 = 6 Rest: 0
6 : 2 = 3 Rest: 0
3 : 2 = 1 Rest: 1
1 : 2 = 0 Rest: 1
Resultat: 110001
Ausgegeben werden soll aber nur das Resultat.
Über eure Hilfe würde ich mich sehr freuen, da ich schon vieles Versucht habe und absolut nicht weiß wo mein Denkfehler ist.
Viel Dank schon mal im vorraus und Grüße Martin