Ottenere il byte superiore e inferiore di un numero intero in C# e metterlo come un array di carbone da inviare a una porta COM, come?
Domanda
In CI lo farebbe
numero int = 3510;
Char Upper = Numero >> 8;
char inferiore = numero && 8;
SendByte (superiore);
SendByte (inferiore);
Dove superiore e inferiore sarebbe entrambi = 54
In C# sto facendo questo:
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);
Tuttavia, nel numero di debugger = 3510, superiore = 13 e inferiore = 0 non ha senso, se cambio il codice in >> 6 superiore = 54 che è assolutamente strano.
Fondamentalmente voglio solo ottenere il byte superiore e inferiore dal numero a 16 bit e inviarlo dalla porta COM dopo "GetDM"
Come posso fare questo? È così semplice in C, ma in C# sono completamente sconcertato.
Nessuna soluzione corretta
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow