Bestimmte Stelle einer Ganzzahl herausfinden



  • Dafür gibt es eine Formel, die nachfolgend in eine Funktion eingebaut wurde. Dabei wird 0 als die Einerstelle behandelt.

    // C-Version
    #include <math.h>
    
    unsigned short int getDigit (long int num, unsigned short int digit)
    {
        return ((long int)(num / pow(10,digit))) % 10;
    }
    
    // C++-Version
    #include <cmath>
    
    unsigned short int getDigit (long int num, unsigned short int digit)
    {
        return static_cast<long int>(num / pow(10,digit)) % 10;
    }
    
    // Beispiel
    int zehnerStelle = getDigit(1000,1); // zehnerStelle = 0
    int tausenderStelle = getDigit(1000,3); // tausenderStelle = 1
    

    Der einzige Unterschied zwischen C- und C++-Version besteht in der geänderten Header-Datei.

    Danke an BasicMan01 für den Einbau der nötigen Casts bei neueren Compilern.

    MfG SideWinder

    PS: Wenn ihr Fehler findet, meldet euch bitte umgehend.


Anmelden zum Antworten