Obtener un byte superior e inferior de un entero en C# y ponerlo como una matriz de caracteres para enviar a un puerto Com, ¿cómo?

StackOverflow https://stackoverflow.com/questions/5419453

Pregunta

En CI haría esto

int número = 3510;

Char superior = número >> 8;

Char Lower = Number && 8;

SendByte (superior);

SendByte (inferior);

Donde superior e inferior ambos = 54

En C# estoy haciendo esto:

            int number = Convert.ToInt16("3510");
            byte upper = byte(number >> 8);
            byte lower = byte(number & 8);
            char upperc = Convert.ToChar(upper);
            char lowerc = Convert.ToChar(lower);
            data = "GETDM" + upperc + lowerc;
            comport.Write(data);

Sin embargo, en el número de depurador = 3510, superior = 13 y más bajo = 0, esto no tiene sentido, si cambio el código a >> 6 superior = 54, que es absolutamente extraño.

Básicamente, solo quiero obtener el byte superior e inferior del número de 16 bits, y enviarlo el puerto COM después de "getDM"

¿Cómo puedo hacer esto? Es muy simple en C, pero en C# estoy completamente perplejo.

No hay solución correcta

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top