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?

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

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
scroll top