0

0 ~ 255 の int 値を取得しました。その値を 16 進数または 2 進数に変換して、8 ビット レジスタ (PIC18F uC) で使用できるようにしたいと考えています。どうすればこの変換を行うことができますか? Conversion Library の IntToHex 関数を使用しようとしましたが、この関数の出力は char 値であり、ここから行き詰まりました。私は写真にmikrocを使用しています。どこから始めればよいですか?ありがとう!

4

1 に答える 1

0

これは一般的な問題です。多くの人はそれを理解していません.10進数の15は16進数のFと同じです.8進数の17は2進数の1111と同じです.

異なる数のシステムは、人間用であり、CPU 用であり、すべてバイナリです!

OPが言うとき、

0 ~ 255 の int 値を取得しました。その値を 16 進数または 2 進数に変換して、8 ビット レジスタ (PIC18F uC) で使用できるようにしたいと考えています。

この誤解を反映しています。おそらく、デバッガーが「10 進数」値を表示するように構成されており、サンプル コード/データシートがレジスタ操作の 16 進数値を示しているためです。

したがって、0 から 255 までの "int" 値を取得すると、その数値を 8 ビット レジスタに直接書き込むことができます。16 進数に変換する必要はありません。Hexは、人間の生活を楽にする表現にすぎません。

あなたができることは - これは良い習慣です -

REG_VALUE = (unsigned char) int_value;
于 2017-03-14T04:05:40.560 に答える