Guter Weg, um zu konvertieren zwischen kurz-und bytes?

Muss ich nehmen Paare von bytes in-und output-shorts, und nehmen Sie shorts in-und output-Paare von bytes. Hier sind die Funktionen, die ich habe, speziell für einen solchen Zweck:

static short ToShort(short byte1, short byte2)
{
    short number = (short)byte2;
    number <<= 4;
    number += (short)byte1;
    return number;
}
static void FromShort(short number, out byte byte1, out byte byte2)
{
    byte byte2 = (byte)(number >> 4);
    short tempByte = (short)byte2 << 4;
    byte byte1 = (byte)(number - tempByte);
}

Ich denke, das ist richtig, aber ich bin mir nicht sicher. Wenn dies nicht der richtige Weg, es zu tun, was ist? gibt es eine Möglichkeit, dies bereits im Rahmen?

  • Sie müssen die Umschalttaste 8 bits, nicht 4.
  • Eine interessante Dinge hier ist, dass in ToShort byte1 ist das MSB (also die auf der linken Seite), wo-wie in FromShort byte1 ist die LSB (D. H. die auf der rechten Seite). Habe ich eingeschaltet, diese in meine Antwort ;-p
InformationsquelleAutor RCIX | 2009-09-18
Schreibe einen Kommentar