Operationen mit gemischten Datentypen wie Int und Short



  • Hallo,

    heute ist wieder einer der Tage wo ich wieder nichts hinbekomme 😉

    Ich hab einen Datentyp short k und möchte diesen Datentyp einfach mit 8 addieren und schon bekomme ich einen Fehler das Int nicht so einfach in Short gewandelt werden kann also hab ich das noch probiert

    k = k + (short)8;

    geht auch nicht selber fehler. Mit int16 geht das auch nicht.

    Ich convertiere gerade einen VB code in den C# code und dort wurde sehr sehr oft mit short datentypen gearbeitet.

    Kann doch nicht so schwer sein 😉

    Danke euch!!

    Der Fehler:
    Der Typ "int" kann nicht implizit in "short" konvertiert werden. Es ist bereits eine explizite Konvertierung vorhanden. (Möglicherweise fehlt eine Umwandlung.)

    ok ich habs... sorry
    k = (short)(k + 8);

    so gehts...

    aber jetzt hab ich noch ein problem

    Ich muss den Code jetzt umwandeln:
    k = Not k + 8

    ok versucht habe ich jetzt k = !(short)(k + 8); oder k = !((short)(k + 8));

    geht alles nicht... fehler kann nicht auf int oder short angewendet werden

    Kann mir da jemand helfen?



  • Ok habs...

    ! ist ein boolean operator und ~ ist die bitweise negation...



  • Moin,

    Du kannst kein int zu einem short addieren, da Du das int um 16 Bit kürzenen müsstes ... das geht nur mit Datenverlust und davor will Dich der Compiler bewahren

    hand, mogel


Anmelden zum Antworten