WORD to int



  • kann mir jemand sagen, wie man von einem WORD zu int kommt? SYSTEMTIME->wMonth liefert nämlich WORD zurück. Weiss allerdings nicht, was das überhaupt für nen datentyp sein soll (zahl? string?).



  • WORD ist ein typedef auf unsigned short.
    also kannst Du ein unsigned short oder unsigned int etc. dafür nehmen.



  • word to int schrieb:

    kann mir jemand sagen, wie man von einem WORD zu int kommt? SYSTEMTIME->wMonth liefert nämlich WORD zurück. Weiss allerdings nicht, was das überhaupt für nen datentyp sein soll (zahl? string?).

    Ich verstehe die Frage nicht ganz? Man kann doch einfach zuweisen...

    WORD w=0;
    int i;
    
    i = w;
    // Oder ganz korrekt
    i = static_cast<int>(w);
    


  • das geht. nur sollte man es nicht machen. 😉
    wenn man einen unsigned datentyp hat, sollte man auch dafür sorgen, dass es unsigned bleibt. erhöht die lesbarkeit deutlich.



  • ich danke euch dreien! 🙂



  • ghorst schrieb:

    das geht. nur sollte man es nicht machen. 😉
    wenn man einen unsigned datentyp hat, sollte man auch dafür sorgen, dass es unsigned bleibt. erhöht die lesbarkeit deutlich.

    Jaaaa.... soweit die Theorie!

    Ich habe so ein paar Codeteile und Klassen von einem Entwickler, der es liebte WORD und DWORD zu verwenden. Dann habe ich ein paar Klassen wo einfach das meiste als int verwendet wird. Und nun werfden wir beides in ein Projekt und rühren mal kräftig durch... 🤡

    BTW: Besonders hasse ich an dieser Stelle size_t, dass unsigned ist... ich fände size_t als signed Wert manchmal praktischer.
    Aber das ist vermutlich Geschmacksache, aber ich stehe da nicht alleine:
    http://aristeia.com/Papers/C++ReportColumns/sep95.pdf



  • natürlich ist es eine wunschvorstellung, dass sich alle c/c++-programmierer daran erinnern, was der sinn von unsigned war. nur wenn jemand danach fragt, wie man es richtig macht, sollte man aus meiner sicht ihm den eleganten weg zeigen und nicht den schmutzigen.

    zum thema size_t=int. aus meiner sicht bringt es mehr nachteile als vorteile. daher verwende ich unsigned int als size_t.


Anmelden zum Antworten