本、Art of Assemblyから、私はこの引用をコピーします:
2の補数システムでは、数値のHOビットは符号ビットです。HOビットがゼロの場合、数値は正です。HOビットが1の場合、数値は負になります。例:
16ビット数の場合:
8000h
HOビットが1であるため、負になります。
100h
HOビットがゼロであるため、は正です。
7FFFh
正です。
0FFFFh
負です。
0FFFh
正です。
最後の2つの例がわかりません。2つの例をバイナリに変換する0000 1111 1111 1111 1111
と、最初の例と0000 1111 1111 1111
2番目の例が得られます。前者がネガティブで後者がポジティブなのはなぜですか?両方の最上位ビットは0であるため、両方が正である必要があるように思われます。