Hochzahlen?



  • Wieso funktioniert 5.5^9 nicht?

    "Unzulässige Verwendung einer FLießkommazahl":

    Bei 5,5^9 kommt 12 heraus ?!



  • Hat nix mit dem BCB sondern mit ANSI C Grundlagen zu tun! ^ ist ein Binärer Operator!

    -junix



  • Du willst die Funktion pow() kennen lernen ....



  • Mach einfach das geht am schnellsten und ist am einfachsten:

    #include <stdio.h>
    
    int main()
    {
    
    //bei j muss man den Exponenten eingeben
    int i, j = 12;
    
    //bei x muss man die Basis eingeben
    double x = 5.5, xneu = x;
    for(i=1; i<j; i++){
    xneu*=x;
    
    printf("%2.1f hoch %2d ist gleich %15.2f\n", x, i, xneu);
    
    }
    printf("\n%2.1f hoch %2d ist gleich %15.2f", x, j, xneu);
    
    getchar();
    return 0;
    }
    

    Ich hätte das so gamacht. mit 2 3 änderungen kann man auch ne Tolle header Datei draus machen.

    MFG H@ckepeter



  • Das ist sicher nicht am schnellsten. 😉
    Außerdem:
    Was ist, wenn du jetzt 2 ^ 7,8 berechnen willst?
    Was ist, wenn du Wurzelziehen willst (4 ^ 0.25)?
    Du musst bei der Exponentialfunktion mehr beachten als einen natürlichen Exponenten.
    (Aber du hast recht, es ist am einfachsten. 😃 )
    Ich muss Mady völlig recht geben. pow() ist die beste Lösung.



  • Stimmt daran habe ich nicht gedacht. wie Funktioneirt pow()?
    zum Wurzel ziehen habe ich imer sqrt() benutzt. sqrt() kann aber nur die 2. Wurzel ziehen(!), die wird aber sowie so am meisten benutzt. 😃



  • Original erstellt von H@ckepeter:
    Stimmt daran habe ich nicht gedacht. wie Funktioneirt pow()?

    Langsam frage ich mich, wieso du dich so wehement weigerst die Hilfe zu benutzen?!?
    Du arbeitest doch mit dem C++ Builder... dort hats sogar ein Anwendungsbeispiel in der Dokumentation...

    -junix



  • Original erstellt von junix:
    **dort hats sogar ein Anwendungsbeispiel in der Dokumentation...
    **

    Toll und die beschreibung zu den Beispielen dazu ist super, da gibt es nur ein Problem es gibt KEINE BESCHREIBUNG! was nützt mir Quelltext über Quelltext wenn ich keinen PLan habe wie er funtzt? und mit der hiefe von fopen kann ich auch nichts anfangen.



  • #include <math.h>
    #include <stdio.h>
    
    int main(void)
    {
      double x = 2.0, y = 3.0;
    
      printf("%lf raised to %lf is %lf\n", x, y, pow(x, y));
      return 0;
    }
    

    Sei so gut und erklär mir was daran zu dokumentieren ist? (-;

    -junix



  • Wurzelziehen tut man so:

    3 Wurzel aus 8 ist:

    pow(8,1.0/3);

    da wir ja alle wissen:
    3 Wurzel aus x == x^(1/3)

    sqrt() gibt es als eigene Funktion, da man die quadrat wurzel sehr effizient implementieren kann - und da waere ein pow(x,0.5) doch overhead!


Anmelden zum Antworten