C - Exponentialschreibweise



  • Hallo,
    gibt es die Exponentialschreibweise auch für Ganzzahlen in C?

    also bspw.

    int i = 2e8 ?

    Danke,
    James


  • Mod

    Nicht direkt. Aber das was du dort tust, weist i korrekt den Wert 200000000 zu, obwohl 2e8 eine double-Konstante ist. Geht natürlich nicht ganz so gut, falls die Zahl auf der rechten Seite zu groß für einen integer ist.



  • Das nicht, aber du kannst schreiben:

    int gross = 200'000'000;
    

    Edit: das geht so ab C++14.

    Dein int i = 2e8 geht auch, aber wandelt eben den double um und geht nicht mehr, wenn du mit {} initialisierst.

    Edit2: verdammt, ich habe, obwohls im Titel steht, nicht gesehen, dass es um C und nicht C++ geht 😞 Ignoriere meine Antwort.


  • Mod

    @wob sagte in C - Exponentialschreibweise:

    Das nicht, aber du kannst schreiben:

    int gross = 200'000'000;
    

    Edit: das geht so ab C++14.

    Ist aber C-Forum, d.h. geht gar nicht. Aber immerhin kennt C die hexadezimale Exponentialschreibweise schon seit C99, die kam in C++ erst mit C++17



  • ok danke


Log in to reply