契約 ff12 に署名するにはどうすればよいですか。ここでは負の数ですが、ここではすべての FF を削除する必要がありますが、そうすると正の数になります。
x86 のような符号拡張の反対として、 「符号縮小」の 1 つの定義は、The Art of Assembly のこのオンライン コピーで見つけることができますcbw
。
あるビット数の値をより少ないビット数の同じ値に変換する符号縮小は、もう少し面倒です。符号拡張は決して失敗しません。m ビットの符号付きの値を指定すると、符号拡張を使用していつでも n ビットの数値 (n > m) に変換できます。残念ながら、n ビットの数値が与えられた場合、m < n の場合、常にそれを m ビットの数値に変換できるとは限りません。たとえば、値 -448 を考えてみましょう。16 ビットの 16 進数として、その表現は $FE40 です。残念ながら、この数値は大きすぎて 8 ビット値に収まらないため、8 ビットに署名することはできません。これは、変換時に発生するオーバーフロー状態の例です。