Zum Inhalt springen

Empfohlene Beiträge

Geschrieben

Hi,

Ich habe folgendes Problem:

Ich habe eine while-schleife, die mir ein Modulo (also den Rest) von einer Zahl geben soll, diesen Rest dann abziehen und durch den Modulowert teilen soll (damit mann alle Modulo-Werte bis 0 bekommt:

Der Code müsste eigentlich funktionieren, tut er aber nicht:

while($dez !=0)
{
$rest=$dez%32;
echo "$dez modulo 32: $rest von ";
$dez=($dez-$rest)/32;
echo $dez."</br>";
}[/PHP]

der Wert nach der Schleife ist immer "2000", außerdem geht er auch nicht weiter nach dem 2. Mal.

Habe ich vll. irgendeinen "dummen" Anfängerfehler gemacht?

Geschrieben

der Wert nach der Schleife ist immer "2000"

Der erste durchlauf klappt, aber dann soll der Wert $dez (der am ende des ersten durchlaufs überschrieben werden soll, verwendet werden, dieser ist jedoch automatisch 2000

Geschrieben

Ausgangswert bsp: Anfang 31877 ->%32->(Rest) 5 von 996

(nächster Anfangswert: ) erwartet: 996 bekommen 2000, (von 2000 modulo 32) bekommen: 0 von 625

abbruch.

31877 modulo 32: 5 von 996

20000 modulo 32: 0 von 625

Geschrieben

Kann ich nicht reproduzieren:

31877 modulo 32: 5 von 996
996 modulo 32: 4 von 31
31 modulo 32: 31 von 0[/code]

Könntest du bitte die Ausgabe eines konkreten Startwerts hier reinkopieren?

Deine Daten passen alle nicht zusammen. 625 * 32 ist 20.000, nicht 2.000.

Geschrieben

Es gibt keinen korrekten Startwert, zum keinen der in der Ausgabe funktioniert( bei mir)

Nun Gut Der Startwert lautet: 31877

die Ausgabe lautet:

31877 modulo 32: 5 von 996

20000 modulo 32: 0 von 625

meine erwartete aber nicht eingetretene Ausgabe lautet:

31877 modulo 32: 5 von 996

996 modulo 32: 4 von 31

31 modulo 32: 31 von 0

Mein Problem ist (wie ganz offensichtlich), dass die Werte einfach nicht stimmen, egal wie sehr ich es hin und her rechne.

Auf dem Blatt Papier stimmt es.

Und vom Sinn her müsste es stimmen:

"Solange $dez nicht gleich 0 ist rechne:

Den Modulo von $dez und speichere ihn als $rest.

Ziehe den $rest von $dez ab und überschreibe $dez."

Geschrieben

Funktioniert es bei euch? Könnt ihr das schnell mal implementieren und überprüfen? Vll. habe ich ja meinen Interpreter zerschossen O.o

auch wenn ich nicht weis wie ich das gemacht haben soll...

Geschrieben

nein es tritt nicht auf ...

edit: Problem gelöst ich hatte nach hunderten Leerzeichen ein return drin stehen, klar dass das nicht funktionieren kann -.- , ich sollte mir angewöhnen nicht mit dem Texteditor zu schreiben

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...