- fchao-Sinus-Wechselrichter AliExpress         
Ergebnis 1 bis 7 von 7

Thema: Multiplikation mit Konstante geht nicht

Hybrid-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    16.02.2006
    Beiträge
    1.113
    Zitat Zitat von Che Guevara Beitrag anzeigen
    Es scheint so, als ob dann _yawnow Null wird, aber warum?
    ...
    Dim _yawnow As Integer
    Weil _yawnow vom Typ Ganzzahl mit Vorzeichen ist, während 0.2 eine Dezimalzahl ist.
    Wenn es dir nicht zu zeitintensiv ist, dann bleibe doch bei der Berechnung /5.

  2. #2
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    08.09.2007
    Ort
    Berlin
    Alter
    32
    Beiträge
    1.578
    Hm, also eine etwas bescheidene Eigenschaft von BASCOM...
    Dann werd ich mal schaun, was kürzer ist:
    - Entweder erst _yawnow in eine Dezimalzahl konvertieren oder
    - erst durch 10 teilen und dann mit _xxx_kp multiplizeren (also dann um den Faktor 10 größer)

    Vielen Dank
    Gruß
    Chris

    EDIT:
    Habs gerade ausprobiert:
    Code:
    Const _yaw_kp = 5
    Const _yaw_single_kp = 0.5
    ...
    ...
    ...
    
    '330Cycles:
    _yawnow = 800
    
    _yawnow = _yawnow / 10
    _yawnow = _yawnow * _yaw_kp
    '########
    
    '795Cycles
    _yawnow = 800
    
    _yawnow_single = _yawnow
    _yawnow = _yawnow_single * _yaw_single_kp
    '########
    Also werd ich die Werte woll erst durch 10 teilen... Danke für die Hilfe
    Geändert von Che Guevara (21.05.2011 um 20:35 Uhr)

  3. #3
    Erfahrener Benutzer Roboter Genie Avatar von Michael
    Registriert seit
    17.01.2004
    Ort
    Karlstadt
    Alter
    56
    Beiträge
    1.258
    Hallo cheguevara,

    Hm, also eine etwas bescheidene Eigenschaft von BASCOM...
    wohl eher vom Programmierer.
    Eine Ganzzahl bleibt auch in anderen Sprachen eine Ganzzahl.

    Gruß, Michael

  4. #4
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    08.09.2007
    Ort
    Berlin
    Alter
    32
    Beiträge
    1.578
    Ja, das ist mir klar, aber warum kann Bascom das dann nicht automatisch so compilieren, dass die Multiplikation funktioniert? Sonst macht es doch auch alles von alleine, z.b. Push & Pop, usw...
    Aber darum gehts eigtl. gar nicht, den wenn mans weiß ist es kein Problem mehr!
    Trotzdem muss ich dir Recht geben

    Gruß
    Chris

  5. #5
    Erfahrener Benutzer Robotik Einstein Avatar von wkrug
    Registriert seit
    17.08.2006
    Ort
    Dietfurt
    Beiträge
    2.260
    Wenn Du mit ganzzahlen arbeitest ist es eventuell sinnvoller, wenn Du die Multiplikation vor der Division ausführst.

    Das braucht nicht mehr Rechenzeit, erhöht aber die Präzision, weil weniger Reste unter den Tisch fallen.

    Allerdings musst Du dann aufpassen, das der maximale Wertebereich deiner Variable nicht überschritten wird!

  6. #6
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    08.09.2007
    Ort
    Berlin
    Alter
    32
    Beiträge
    1.578
    Ja, das dachte ich mir auch schon, trotzdem danke für den Tip

    Gruß
    Chris

Ähnliche Themen

  1. problem mit K6 (geht, geht nicht...)
    Von ijjiij im Forum Asuro
    Antworten: 3
    Letzter Beitrag: 17.12.2010, 17:19
  2. Nicht-invertierender OpAmp, Rechnung geht nicht
    Von Crock im Forum Elektronik
    Antworten: 6
    Letzter Beitrag: 26.06.2008, 13:51
  3. USB-ISP geht nicht und Bascom 2.0.14.0 auch nicht
    Von enterprise30 im Forum Basic-Programmierung (Bascom-Compiler)
    Antworten: 4
    Letzter Beitrag: 10.03.2008, 11:32
  4. Multiplikation in ass
    Von haus51 im Forum Assembler-Programmierung
    Antworten: 9
    Letzter Beitrag: 20.03.2007, 12:48
  5. Konstante Länge in VB?
    Von Sommer im Forum Software, Algorithmen und KI
    Antworten: 2
    Letzter Beitrag: 15.02.2005, 14:58

Berechtigungen

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

Labornetzteil AliExpress