Ho bisogno di inserire coppie di byte e di produrre cortocircuiti, inserire cortocircuiti e emettere coppie di byte. Ecco le funzioni che ho escogitato per tale scopo:Un buon modo per convertire tra brevi e byte?
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);
}
Penso che sia corretto ma non ne sono sicuro. Se questo non è il modo giusto per farlo, che cos'è? c'è un modo per farlo già nel framework?
È necessario spostare 8 bit, non 4. –
Un cose interessanti qui è che in 'ToShort' il byte1 è l'MSB (cioè quello a sinistra), dove -come in' FromShort' il byte1 è l'LSB (cioè quello a destra). Ho cambiato questi nella mia risposta ;-p –