- Labornetzteil AliExpress         
Ergebnis 1 bis 10 von 98

Thema: Bascom Bug melden

Baum-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #33
    Benutzer Stammmitglied
    Registriert seit
    21.02.2008
    Beiträge
    35

    Ausrufezeichen Fehler bei Single Multiplikation mit kleinen Werten

    Bug Report:

    Betrifft Bascom nach dem letzten Update auf 2.0.7.7
    Hier liegt ein Fehler bei der Berechnung von Single-Variablen vor. Wenn man eine Variable nur oft genug mit 0.9 multipliziert, wird die wie erwartet 0. Wenn man weiter macht wird sie irgendwann NAN und dann irgendwann irgendwas ganz großes. Hier ein Beispielprogrämmchen mit dem der Fehler auf einem xmega nachvollzogen werden kann.
    Code:
    $regfile = "xm256a3def.dat"
    $crystal = 32000000                                                                                                     '32MHz
    $hwstack = 256
    $swstack = 256
    $framesize = 256
    $lib "xmega.lib"
    $external _xmegafix_clear
    $external _xmegafix_rol_r1014
    
    Config Portf.3 = Output
    Config Portf.2 = Input
    
    Dim A As Single
    Dim Loopcount As Long
    
    Config Osc = Enabled , 32mhzosc = Enabled
    Config Sysclock = 32mhz , Prescalea = 1 , Prescalebc = 1_1
    Config Com7 = 9600 , Mode = Asynchroneous , Parity = None , Stopbits = 1 , Databits = 8
    
    Open "COM7:" For Binary As #1
    A = 10
    Wait 5
        Do
            Incr Loopcount
            A = A * 0.9
            Print #1 , Loopcount ; "    " ; A
        Loop
    Der Fehler tritt nach 853 Durchgängen (NAN) und nach 1485 Durchgängen (3924871168.0) auf. Ändert man die Zeile A=A*0.9 in
    A=A*9
    A=A/10
    funktioniert alles einwandfrei. Es scheint, daß der Fehler nur bei Multiplikationen von sehr kleinen Werten auftritt. Ob es noch andere Fälle gibt ist mir zumindest nicht bekannt. Bei Bascom 2.0.7.6 tritt der Fehler nicht auf.
    Geändert von kritias (30.03.2014 um 22:37 Uhr)

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •  

MultiPlus Wechselrichter Insel und Nulleinspeisung Conrad