プロが教えるわが家の防犯対策術!

こんにちは、MicroPythonのコードを書いていますが、一つお伺いしたいのです。

写真のようにSPI Address(15 bit)とDefault Valueをコードに書きたいですが、そのために、SPI Address(15 bit)の後ろにR-W(1 bit)を足して、16 bitになってから、プログラムコードに書くべきですが、

例えば:演算方法は、まず、0x210(十六進数)を二進数にしたら、1000010000になった。
    そして、二進数の1000010000の後ろに0を加えたら、10000100000になった。
    それから、二進数の10000100000を十六進数に変えたら、420になった。
    最後、演算した十六進数の420をプログラムコードに「0x04,0x20」というふうに書けば     よいでしょう!

    しかし、このような演算方がめちゃくちゃ時間かかるし、効率ではないので、VSCの関数を使ったら、一瞬変えられるらしい。
効率的なやり方(VSCの関数を使う)としては、どうしたら良いですか?教えていただけますでしょうか?

「Visual Studio Code 関」の質問画像

A 回答 (3件)

2倍するだけなんだけど、


16進数の2倍は暗算で十分できますよ。
n進数の扱いをもうちょっと勉強すべき。
    • good
    • 0

回答No.1(Ogre7077さん)も書いてますが、数値でビット演算すれば、わざわざ「二進数にして、そこから二進数を十六進数に戻す」ということはしなくて済みますよ。


質問の例だと、アドレス値を2倍してR-Wビットを足すだけです。16ビットを1バイト2つにする式は略。
    • good
    • 0
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!