10

16 進数が負になることはありますか? はいの場合、どのように?
バイナリの場合、signedunsignedがあります。
それらを16進数でどのように表現しますか?これから着手しようとしている 16 進ルーチンにこれが必要です。

4

6 に答える 6

25

はい。たとえば、符号付き32ビットの2進数と16進数で次の表現があります。

Decimal: 1
 Binary: 00000000 00000000 00000000 00000001
    Hex: 00 00 00 01

Decimal: -1
 Binary: 11111111 11111111 11111111 11111111
    Hex: FF FF FF FF

Decimal: -2
 Binary: 11111111 11111111 11111111 11111110
    Hex: FF FF FF FE

ご覧のとおり、負の数の16進表現は、2進表現に直接関連しています。

于 2011-04-29T01:17:23.717 に答える
15

数値の上位ビットは、負かどうかを決定します。たとえば、int は 32 ビット長なので、ビット 31 が 1 の場合は負になります。16 進数でも 10 進数でも、その値をどのように表示するかは問題ではありません。したがって、16進値は次のようになります

0x80000000
0x91345232
0xA3432032
0xBFF32042
0xC33252DD
0xE772341F
0xFFFFFFFF

最上位ビットが 1 に設定されているため、すべて負です。

       |
       v
0x8 -> 1000
0x9 -> 1001
0xA -> 1010
0xB -> 1011
0xC -> 1100
0xD -> 1101
0xE -> 1110
0xF -> 1111
于 2011-04-29T03:21:57.793 に答える
6

はい、できます。それをどのように解釈するかについては、バイナリと同じです (署名付きと未署名)。

于 2011-04-29T01:11:49.707 に答える
5

2 進数の符号付き形式と符号なし形式を取り、2 進数と同様に 16 進数で表します。

于 2011-04-29T01:11:48.533 に答える