Obtenir l'octet supérieur et inférieur d'un entier en C # et le mettre comme un tableau char à envoyer à un port com, comment?
Question
Dans CI ferait cela
numéro int = 3510;
Char Upper = Number >> 8;
char Lower = Number && 8;
SendByte (supérieur);
SendByte (inférieur);
Où supérieur et inférieur serait les deux = 54
En C #, je fais ceci:
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);
Cependant, dans le numéro de débogueur = 3510, Upper = 13 et inférieur = 0, cela n'a aucun sens, si je change le code en >> 6 Upper = 54, ce qui est absolument étrange.
Fondamentalement, je veux juste obtenir l'octet supérieur et inférieur du numéro 16 bits, et l'envoyer le port com après "GetDM"
Comment puis-je faire ceci? C'est si simple en C, mais en C # je suis complètement perplexe.
Pas de solution correcte
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow