AW: Konversion von dezimal zu binär
Dann schau Dir doch im Debugger an, welche Werte k und i zu diesem Zeitpunkt haben.
|
AW: Konversion von dezimal zu binär
Hi,
das problem liegt an der 2 while-schleife. abbruchbedingung ist ja wenn "number <> 0". aber genau 0 wirds, mit deinem code, nur bei bestimmten fällen (z.b. bei 2^k). aber selbst dann funktioniert das nicht richtig weil du bei deiner ersten while-schleife nur ">" und nicht ">=" stehen hast.(siehe unten) aber selbst danach gibts noch ein paar fehler ;) ich glaube du weißt wieso du die erste while-schleife benutzt?? - wenn nicht schau mal nach "euklidischer algorithmus". Du suchst ja den Exponent für den dein 2^k größer(gleich) deiner zahl ist. hier hast du auch einen kleinen fehler. wenn du "while number > power(2,1)" benutzt bekommst du den 2 höchsten exponent. schreib einfach "while number > power(2,i + 1)". wenn du den gefunden hast weißt du auch deine länge vom array.. nicht, wie du geschrieben hast "setlength(square,k)" sondern "setlength(square,k + 1)". ignorieren wir jetzt mal deine abbruchbedingung bei deiner while-schleife (while(number <> 0)). Warum hast du da nochmal ne while-schleife die das gleiche macht wie davor?? du hast doch jetzt den höchsten exponenten. gruß |
AW: Konversion von dezimal zu binär
Zitat:
Es ist auch belanglos, ob das nun zufällig so ist oder nicht. Es ist so. Und wie kommst du zu dem Wissen "aber das wäre eben auch kein Konversionsalgorithmus, der vom Lehrer gefordert wurde" ? diavy schrieb "Meine Aufgabe ist es, ein Programm zu schreiben, das eine Zahl (<>0) liest und diese dann in binär transformiert." Ich sehe da keine Einschränkung auf einen bestimmten Konversionsalgorithmus. Und vor allem sehe ich da keinen Hinweis, dass man sein Wissen über die binäre Darstellung der Daten in der Lösung nicht verwenden darf. Du ? |
AW: Konversion von dezimal zu binär
Zitat:
sorry aber was Recht ist sollte auch Recht bleiben. Ich vermute, Bjoerk bezog sich auch die Zeile k := k * 2; Beim 32sten Durchlauf wird da ein Überlauf erzeugt, der nur dann nicht zu Problemen führt, wenn die Überlaufprüfung abgeschaltet ist. Bjoerk hat das völlig richtig erkannt. Besser wäre es, hier zu schreiben k := k shl 1; |
AW: Konversion von dezimal zu binär
Und was spricht dagegen, im Fehlerfall den Debugger zu bemühen? Ich verstehe Deinen Beitrag nicht, sry.
|
AW: Konversion von dezimal zu binär
Zitat:
Jetzt, im Nachhinein, ist mir klar, dass sich dein Beitrag auf #20 bezog. Tut mir Leid, bitte vergiss meinen Einwand in #24. |
AW: Konversion von dezimal zu binär
Achso, klarer Fall von Mistverständnis :mrgreen:. Kein Problem, kann passieren
|
AW: Konversion von dezimal zu binär
Vielleicht hilft auch diese Seite weiter, hier ist eigentlich kurz und knapp die Möglichkeit beschrieben, wie man mit dem Hornerschema Zahlensysteme umrechnet.
Grüße Mikhal |
Alle Zeitangaben in WEZ +1. Es ist jetzt 18:57 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz