INFO: Dieses Forum nutzt Cookies...
Cookies sind für den Betrieb des Forums unverzichtbar. Mit der Nutzung des Forums erklärst Du dich damit einverstanden, dass wir Cookies verwenden.

Es wird in jedem Fall ein Cookie gesetzt um diesen Hinweis nicht mehr zu erhalten. Desweiteren setzen wir Google Adsense und Google Analytics ein.

Antwort schreiben 
 
Themabewertung:
  • 0 Bewertungen - 0 im Durchschnitt
  • 1
  • 2
  • 3
  • 4
  • 5
Problem mit "pow"
27.02.2021, 19:12
Beitrag #9
RE: Problem mit "pow"
(27.02.2021 12:38)Tommy56 schrieb:  z.B. 128.00 ist nicht genau 128, sondern evtl. knapp darunter (evtl. 127.99). Die 128.00 entsteht durch Rundung. Wenn Du jetzt 0.1 oder 0.5 hinzu addierst, kommt der Wert knapp über 128 (128.1) und die Umwandlung nach int schneidet einfach den Nachkommateil ab. Übrig bleibt 128.

Du kannst auch mal probieren, vor der Umwandlung nach int ein round zu machen. Damit sollte das Ergebnis auch wieder richtig sein.

Gruß Tommy

ok. wenn das Ergebnis der Funktion "pow" immer kleiner als das exakte math. Ergebnis ist kann die binäre Anzeige nicht stimmen.
Wenn ich "round" verwende werden im Seriellen Monitor die Nachkommastellen weggelassen, aber an der binären Anzeige ändert sich nichts.
Für mich heißt das ganz besondere Vorsicht bei der binären Weiterverarbeitung von "pow" -Ergebnissen.
Danke nochmal für Deine Unterstützung!
Gruß Wilhelm
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
27.02.2021, 19:22
Beitrag #10
RE: Problem mit "pow"
Nochmal zum Mitmeisseln: pow ist ein Funktion für float-Werte und damit per Definition ungenau, da float ungenau ist.
Für 2er-Potenzen nimmt man << für *2 und >> für /2
Also:
Code:
unsigned int a = 1;
  Serial.println(a);
  for(int i=1; i <8;i++) {
    a = a << 1;
    Serial.println(a);
  }

Gruß Tommy

"Wer den schnellen Erfolg sucht, sollte nicht programmieren, sondern Holz hacken." (Quelle unbekannt)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
Antwort schreiben 


Möglicherweise verwandte Themen...
Thema: Verfasser Antworten: Ansichten: Letzter Beitrag
  Problem bei Multitasking und millis() Maxcruiser 41 1.673 01.06.2021 22:22
Letzter Beitrag: Maxcruiser
  Problem Relaisplatine Maui 14 1.214 23.03.2021 15:20
Letzter Beitrag: hotsystems
  Pwm Problem safitom 4 604 20.02.2021 12:14
Letzter Beitrag: safitom
  Problem mit "Keyboard" und "Mouse" LK2567 4 667 03.02.2021 16:11
Letzter Beitrag: MicroBahner
  const char zu int Konvertierung Problem Lumplux 1 457 02.02.2021 10:26
Letzter Beitrag: Lumplux
  Arduino Uno+ Ethernetshield W5100 Website Problem Justus S. 9 973 31.01.2021 17:37
Letzter Beitrag: Tommy56
Sad MAX7221 mit gemeinsamer Anode und Problem Dezimalpunkt daja64 11 953 30.01.2021 11:07
Letzter Beitrag: daja64
  LCD via I2C Backlight-Problem Herby007 10 1.156 06.01.2021 14:46
Letzter Beitrag: Herby007
  OLED Bildschirm Problem JoeIsFame 79 3.917 04.01.2021 06:41
Letzter Beitrag: Bitklopfer
  Problem mit Variablen & Ergebnis rev.antun 11 1.027 26.11.2020 15:47
Letzter Beitrag: rev.antun

Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste