1

私は 2 の補数に関連する aq を持っています。たとえば、2 の補数表現で符号付き 16 ビット 16 進数があるとします。

16ビットの場合は、現在12ビットしかないため、拡張する必要があります。左側を拡張する必要があることはわかっているので、0xffaa にします。

それは私の数が負であることを意味します、それは正しいですか?

4

2 に答える 2

2

私があなたの質問を理解していれば、あなたは正しいです。

12ビットの2の補数の負の数の場合は、上位ビット(通常はビット11と呼ばれます)を取得し、左側のすべてのビットにコピーして、16の上位4ビットを埋めます。 -ビット相当。あなたが持っている12ビットの値は、あなたが質問で言ったように0xfaa、16ビットの値になります。0xffaa

バイナリでは、12ビット値は

    111110101010
    ^
    +---- bit 11 

そして16ビット値になります

 1111111110101010
 ^   ^
 |   +-------- bit 11 
 +------------ bit 15

2つの単語の長さが異なるということは、2つの数字が等しいという事実を変えるものではありません。

于 2011-04-17T18:35:57.433 に答える
0

最上位桁を 0 にすると、0x0faa になります。想定して f がそこに行く場合、数値の値が変更されています。

于 2011-04-17T18:29:34.547 に答える