Hexadezimale Werte in C++



  • Ich sehe in C++ häufig Angaben in Hex-Werten, zum Beispiel bei Farben
    dort wird das wie folgt ausgedrückt:

    int var=0x0...
    

    ... steht hierbei für den Hex Wert, nach einem kleinen Test bin ich aber darauf gekommen das:

    int var=0x0A
    int var=0xA
    

    den gleichen Wert liefern, nämlich 10, das ist ja auch logisch, da 0 ja für 0 steht, doch ich frage mich warum bei den meisten Hex-Angaben in der WinAPI die obere Schreibweise genommen wird, vielleicht kann mir da einer der etwas Fachkundigeren eine Erklärung geben, welche Bedeutung die 0 hat, wenn überhaupt.



  • ich nehme mal an, das macht man um zu verdeutlichen, dass es sich um einen 8-bittigen wert handelt. einen 16-bit wert würde man dann '0x000a' schreiben. bei hexzahlen steht jede stelle ja für 4 bits.

    btw: winapi hat's überigens nicht erfunden 😉



  • Glaub das wurde auch schlicht und einfach zur Textformatierung benutzt:

    Denn das:

    #define ALPHA 0xA
    #define BETA 0xFFF
    

    sieht 'schlechter' aus als das:

    #define ALPHA  0x00A
    #define BETA   0xFFF
    

    Mal so btw^^


Anmelden zum Antworten