Problem mit Datentypen in C

Heute ist Stammtischzeit:
Jeden Donnerstag 20:30 Uhr hier im Chat.
Wer Lust hat, kann sich gerne beteiligen. ;)
  • Hey Leute ich habe ein kleines Programm geschrieben, um Impulse von einem Wasserzähler zu zählen, hab das ganze mit Hilfe von WiringPi in C Programmiert. Interrupts kann ich auch schon ohne Probleme zählen und auch die Zeit zwischen zwei Interrupts messen. Diese Zeit möchte ich dann in den aktuellen Durchfluss umrechnen.

    Nun schaut euch mal kurz folgende kleine Rechnung an und vllt. könnt ihr mir sagen, wo hier das Problem liegt es kommt immer 0.0000000 raus es müsste aber etwas um die Größenordnung 1800 rauskommen

    Code
    double zeit;
    double verbrauch;
    
    
    verbrauch = (1/zeit)*3600*0,01;
    
    
    printf("Zeit zwischen Interrupts: %f\n",zeit);
    printf("Verbrauch: %f\n",verbrauch);

    die Zeit wird richtig angezeigt mit etwa 0,02 sekunden
    Der Verbrauch liegt aber immer noch bei 0.0000!

    Woran liegts?
    Hab ich da mit den Datentypen etwa was vertauscht?

    Bitte um Hilfe :helpnew:

  • Hallo Pi94,

    So? :thumbs1:

    Code
    verbrauch = 3600.0 * 0.01 / zeit;


    oder so? :geek:

    Code
    verbrauch = 36.0 / zeit;

    Beste Grüße

    Andreas

    Ich bin wirklich nicht darauf aus, Microsoft zu zerstören. Das wird nur ein völlig unbeabsichtigter Nebeneffekt sein.
    Linus Torvalds - "Vater" von Linux

    Linux is like a wigwam, no windows, no gates, but with an apache inside dancing samba, very hungry eating a yacc, a gnu and a bison.

    Einmal editiert, zuletzt von Andreas (8. Juni 2015 um 20:07)

Jetzt mitmachen!

Du hast noch kein Benutzerkonto auf unserer Seite? Registriere dich kostenlos und nimm an unserer Community teil!