rundung



  • abschalten der rundung in C/C++ und den Befehl für ² in einer Rechnung



  • Hi!

    Zumindest das Abschalten der "Rundung" (nimm doch einfach int!!!) is eine innovative Idee! Eine Funktion zum berechnen, des Quadrats, einer Zahl (pow, ²). Wer braucht denn sowas bitte??? 😕

    grüße



  • quadrat is doch leicht.

    int x;
    
    x=x*x;
    

    Wo wird den in C++ gerundet?
    wenn du von double -> int konvertieren und runden willst dann mach das so

    double x=1.3;
    int y;
    
    y=(int) (x+0.5);
    


  • bei ungefair 5-6dezimalstellen rundet er

    0.0247812 * 0.454899

    aber das ist kein problem habe die lösung gefunden ich suche aber noch die formel für ² ohne * zu nehmen also



  • das ist nur für float richtig. Bei double sind es ca. 15-16 Stellen.
    Wenn Du nur Zahlen hast die zur Basis 2 potenziert werden, hast Du eh kein Problem, denn die sind exakt darstellbar. Bei anderen Potenzen, bei der Du die Basis nicht zur Basis 2 faktorisieren kannst, musst Du Dir ein paar Gedanken über die Genauigkeit machen oder XSC-Sprachen benutzen. Die Rundung kannst Du nicht abstellen, nur beeinflussen. Die Formel wie Du Deine Potenz berechnest, wenn die Zahl binär nicht darstellbar ist, ist fast wurscht.



  • es wird nicht gerundet. wenn eine zahl 2.8 in int gespeichert wird kommt genauso 2 raus. die .8 wird einfach abgeschnitten



  • Hi!

    Für Potenzierungen kannst du auch die Funktion Pow aus "cmath" verwenden:

    #include <iostream>
    #include <cmath>
    
    int main( int argc, char **argv )
    {
    	std::cout << pow( 3.0, 2.0 ); //3²
    	std::cin.get();
    
    	return 0;
    }
    

    grüße



  • das ist nur für float richtig. Bei double sind es ca. 15-16 Stellen.
    Wenn Du nur Zahlen hast die zur Basis 2 potenziert werden, hast Du eh kein Problem, denn die sind exakt darstellbar. Bei anderen Potenzen, bei der Du die Basis nicht zur Basis 2 faktorisieren kannst, musst Du Dir ein paar Gedanken über die Genauigkeit machen oder XSC-Sprachen benutzen. Die Rundung kannst Du nicht abstellen, nur beeinflussen. Die Formel wie Du Deine Potenz berechnest, wenn die Zahl binär nicht darstellbar ist, ist fast wurscht.

    jop. bei float sind es 7 stellen und bei double 15.
    Habt ihr schonmal probiert 0.1d versucht in eine binärzahl von Hand umzurechnen?

    😉


Anmelden zum Antworten