berechnung von zahlen



  • Habe folgendes Problem. Möchte etwas berechnen, doch es kommt immer null heraus. Warum? Wie kann ich das anders machen

    a-h sind immer ganze Zahlen

    unsigned int a  = 0;
    unsigned int b  = 0;
    unsigned int c  = 0;
    unsigned int d  = 0;
    unsigned int e  = 0;
    unsigned int f  = 0;
    unsigned int g  = 0;
    unsigned int h  = 0;
    
    unsigned int Ra = 0;
    unsigned int Rb = 0;
    unsigned int Rc = 0;
    unsigned int Rd = 0;
    
    float W1=0;
    
    a  = Edit1->Text.ToInt();
    b  = Edit2->Text.ToInt();
    c  = Edit3->Text.ToInt();
    d  = Edit4->Text.ToInt();
    e  = Edit5->Text.ToInt();
    f  = Edit6->Text.ToInt();
    g  = Edit7->Text.ToInt();
    h  = Edit8->Text.ToInt();
    
    Ra = a+b+c+d;
    Rb = e+f+g+h;
    
    W1 = 1/((1/Ra)+(1/Rb));
    


  • Hallo

    Integer haben keine Nachkommastellen, also wird aus 1/int entweder 1,0 oder -1.

    du must in float erstmal konvertieren

    W1 = 1.0/((1.0/float(Ra))+(1.0/float(Rb)));
    

    bis bald
    akari



  • Schon mal debuggt?



  • Das float ist hier aber unnötig.

    W1 = 1.0/((1.0/Ra)+(1.0/Rb));
    

    Das sollte reichen. Wobei hier ein Test auf Division durch 0 auch nicht schadet.



  • Danke klappt jetzt. Das mit dem float wußte ich, habe es nur an eine falsche Stelle gesetzt und dann war es schon zu spät.

    Danke nochmal für die schnelle Antwort.

    W1 = 1.0/((1.0/float(Ra))+(1.0/float(Rb)));


Anmelden zum Antworten