In einem frischen Zustand ein simpler BASIC-Dreizeiler eingetippt:
Wer hat die 1 geklaut?
Du bist in Begriff, Forum64 zu verlassen, um auf die folgende Adresse weitergeleitet zu werden:
Bitte beachte, dass wir für den Inhalt der Zielseite nicht verantwortlich sind und unsere Datenschutzbestimmungen dort keine Anwendung finden.
letzter Beitrag von dddaaannn am
In einem frischen Zustand ein simpler BASIC-Dreizeiler eingetippt:
Wer hat die 1 geklaut?
Wer hat die 1 geklaut?
Fehlt auch schon beim letzen Stable Rom
Ist das nur ein Ausgabeproblem?
Weil intern scheint ja alles richtig zu laufen mit der Schleife.
passt zwar nur indirekt hier rein aber lass das mal auf dem C64 laufen ...
passt zwar nur indirekt hier rein aber lass das mal auf dem C64 laufen ...
Repro'd and filed: https://github.com/MEGA65/mega65-rom-public/issues/195
This fails in the same way:
PRINT I*10 still treats I as 0 in these loops. PRINT 0.95+0.05 prints the correct result.
PRINT I*10 still treats I as 0 in these loops
"Chef, ich arbeite seit Wochen ohne Lohn! Das geht so nicht mehr weiter!"
"Okay, Sie haben vollkommen Recht! Dann verdopple ich ab morgen Ihr Gehalt!"
Ich denke, es ist wieder ein Rundungsproblem und keines mit der neuen LOG2-Funktion.
Will es trotzdem hier einfach mal notieren, weil es mir gerade beim Testen aufgefallen ist.
PRINT will round at fewer digits of precision than the math routines, so this is easily explained as just float imprecision that's not being printed. LOG2(n) is doing almost exactly what LOG(n)/LOG(2) is doing, except the LOG(2) value is pre-calculated by the assembler, so it might not be exactly the same. We can only do so much.