バイトでトップニブルとボトムニブルを読みます
-
29-10-2019 - |
質問
1つのバイトのデータに保存されている2つの異なる値を処理する正しい方法は何ですか。私はそれぞれ独自のデータを含む2つのニブルを含むバイトを持っています。トップニブルを読み、ボトムのニブルを自分の変数に読みたいです。
11110000
=ハイ4ビットスロットル、読み取ります $throttle
, 、および0から15までの値である必要があります。00001111
=低4ビットブレーキ、読み取ります $brake
, 、および0から15までの値である必要があります。
忘れないで, 、ドライバーはスロットルとブレーキを同時に適用できるので、次のような値が得られる場合があります 11000111
. 。私自身は、高4ビットのソリューションを思いつきましたが、それは低い4ビットを邪魔にならないように押し出すのと同じくらい簡単です >>
(ビットシフト右)オペレーターは4回。 $Throttle = $ThrBrk >> 4
, 、しかし、下の4ビットの1つの動きでそれを行うことはできないので、ソースコードではちょっと悪いように見えます。
正しい解決策はありません
所属していません StackOverflow