Lire un grignotage supérieur et grignoter inférieur dans un octet
-
29-10-2019 - |
Question
Quelle est la bonne façon de gérer deux valeurs distinctes stockées dans un octet de données. J'ai un octet qui contient deux amuse-gueules contenant chacun leurs propres données. Je veux lire le grignotage supérieur et le gribouillage inférieur dans leurs propres variables.
11110000
= 4 bits élevés de gaz, à lire dans $throttle
, et devrait être une valeur de 0 à 15.00001111
= Frein bas de 4 bits, à lire dans $brake
, et devrait être une valeur de 0 à 15.
N'oubliez pas, les conducteurs peuvent appliquer l'accélérateur et le frein en même temps, vous pouvez donc obtenir une valeur comme 11000111
. J'ai moi-même trouvé une solution pour les 4 bits élevés, et c'est aussi simple que de pousser les 4 bits inférieurs à l'écart avec le >>
(Bit Shift Right) Opérateur 4 fois. $Throttle = $ThrBrk >> 4
, mais comme je ne peux pas le faire en un coup pour les quatre bits inférieurs, il a l'air un peu mauvais dans mon code source.
Pas de solution correcte