Frage zu 0x0000000100000000LLu



  • Was bedeutet

    unsigned long long int basis = 0x0000000100000000LLu;
    

    Das LLu steht bestimmt für long long unsigned?

    Das 0x steht bestimmt für hexadezimal?
    Wenn es hexadezimal wäre, wäre das dezimal = 1*16^8

    Oder ist es binär, also 1*2^8=256?
    Wenn es binär ist, was bedeutet dann 0x?



  • Ja, 0x steht für Daten in Hexadezimal-Format, danaben gibt es noch 0 für Oktalzahlen (Basis 8). Für Binärzahlen gibt es kein eigenes Suffix, bestenfalls Konstruktionen wie BOOST_BINARY.



  • CStoll schrieb:

    Ja, 0x steht für Daten in Hexadezimal-Format, danaben gibt es noch 0 für Oktalzahlen (Basis 8). Für Binärzahlen gibt es kein eigenes Suffix, bestenfalls Konstruktionen wie BOOST_BINARY.

    Danke 👍



  • CStoll schrieb:

    Für Binärzahlen gibt es kein eigenes Suffix

    Bei Code::Blocks funktioniert 0b.



  • FreakY<3Cpp schrieb:

    CStoll schrieb:

    Für Binärzahlen gibt es kein eigenes Suffix

    Bei Code::Blocks funktioniert 0b.

    Bei GCC.



  • FreakY<3Cpp schrieb:

    CStoll schrieb:

    Für Binärzahlen gibt es kein eigenes Suffix

    Bei Code::Blocks funktioniert 0b.

    Wir reden hier nicht von den Eigenheiten einzelner Compiler (dafür gibt es ein eigenes Board), sondern von Standard-C++ 😉



  • gfds schrieb:

    FreakY<3Cpp schrieb:

    CStoll schrieb:

    Für Binärzahlen gibt es kein eigenes Suffix

    Bei Code::Blocks funktioniert 0b.

    Bei GCC.

    Cool! 👍
    Dann schreibe ich ab jetzt 0b. Kann sich ja nur um Jahre handeln, bis MS nachzieht.



  • unsigned long long int basis = 0x0000000100000000LLu;
    

    Also bei mir ergibt das einen Übersetzungsfehler. (Suffix 'u' unbekannt.)



  • volkard schrieb:

    Dann schreibe ich ab jetzt 0b. Kann sich ja nur um Jahre handeln, bis MS nachzieht.

    Spätestens mit C++0x kannst du dir doch deine eigenen Literale bauen, z.B. mit b-Suffix 😉


Log in to reply