begrenzte Fähigkeit des Atmel328p Kommazahlen mit ausreichend hoher Genauigkeit


also ich spiele mit arduino und weiße nicht , warum mein code nicht funktionniert.
ich möchte eine additon mit großer zahlen führen. die zahlen haben festkommazahlen.
bsp  a =150000000.5 und b= 0.5;

ich führe  c= a+b durch ;
oder die multiplikation  von mal b geht auch.(c=a*b)

leider der kompiler vernachlässigt immer meine kommastelle. bezugsweise meine (0.5) hintere stelle.
ich weiße es nicht, wie ich das problem lösen kann.
gibt es eine bibliothek, die die floating-point oder double -werte berechnungen emuliert kann.  

code: [select]
#include <spi.h>
#include<math.h>


void setup() {

serial.begin (9600);

uint32_t rf= 150000003.5;

double b= 3.5;

 double k= rf+b;

 serial.println(rf);
 serial.println(k);
 
   
}

völlig normal. das ist auch auf dem pc nicht anders. auf 8-bit arduinos ist float das gleiche wie double. 6-7 signifikante stellen (d.h. alle ziffern!) bedeutet.

nimm einen 32-bit arduino. dann hat double 64 bit


Arduino Forum > International > Deutsch (Moderator: uwefed) > begrenzte Fähigkeit des Atmel328p Kommazahlen mit ausreichend hoher Genauigkeit


arduino

Comments

Popular posts from this blog

Help needed for choosing soldering station

Error Message when accessing Adobe

Fuelino for Arduino Nano - motorcycle Fuel Injection control and data logger