1

2 の補数表現では、減算と「ゼロ未満の場合分岐」のみを使用して、ビット チェックを実装することになっています。これらの 2 つの命令で実装されていない限り、単純な論理演算は許可されません。

b(n-1) b(n-2) ... b(i) ... b(2) b(1) b(0)したがって、(i) が n ビット数の i 番目のビットを示すような整数 x があるとしましょう。

結果を与える x から減算する数値 y を見つけたい:

  • b(i) = 1 の場合、xy >= 0
  • b(i) = 0 の場合 xy < 0

私はここ数日頭を悩ませてきましたが、最後の結果として、いくつかのアイデア/ヒントを求めてここに来ました。

4

0 に答える 0