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?
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