1. #1
    Avatar von Mentos
    Registriert seit
    18.11.2011
    Beiträge
    451
    Thanked 498 Times in 240 Posts

    Standard Signed Byte / Unsigned

    HeyHo,
    bezüglich eines Projektes, was ich zur Zeit angehe stoße ich auf folgendes Problem:
    Beim konvertieren von einem short zu einem byte-array bekomme ich bei Java negative Zahlen, bei C# postitive, was unterm Strich dazu führt, dass der Server das Packet, was ich sende nicht richtig identifizieren kann. Beispiel:

    Java:
    short id = 149;
    byte[] sbytes = new byte[]{(byte)(id >> 8), (byte)id};
    System.out.println(sbytes[0] + ":" + sbytes[1]);
    Ergebnis: 0:-107

    C#:
    short id = 149;
    byte[] sBytes = new byte[] { (byte)(id >> 8), (byte)id };
    Console.WriteLine(sBytes[0] + ":" + sBytes[1]);
    Console.ReadKey();
    Ergebnis: 0:149

    Ich brauche aber, wie bei Java den -107ner Wert
    Für Hilfe wäre ich dankbar.
    MfG
    „Es sind nicht unsere Fähigkeiten, die zeigen, wer wir wirklich sind, es sind unsere Entscheidungen.“
    - Albus Dumbledore, Harry Potter 2


    /guestchat registerGuest

  2. #2
    Avatar von patlux
    Registriert seit
    26.10.2011
    Beiträge
    1.196
    Thanked 1.598 Times in 726 Posts
    Blog Entries
    2

    Standard AW: Signed Byte / Unsigned

    C#:
    sbyte[] sBytes = new sbyte[] { (sbyte)(id >> 8), (sbyte)id };

  3. The Following User Says Thank You to patlux For This Useful Post:

    Mentos (18.05.2012)

Diese Seite nutzt Cookies, um das Nutzererlebnis zu verbessern. Klicken Sie hier, um das Cookie-Tracking zu deaktivieren.