2

2進数を別の2進数で割ったときの余りが0であるかどうかを(迅速に拒否して)判断する簡単な方法はありますか?分割全体を実行する必要はありません。たとえば、1001 011010111110を11011で除算します。キャリーは必要ありません。

これはネットワーキングプロジェクト用です。

4

1 に答える 1

3

いいえ、一般的ではありません。

除数が2の累乗である場合など、特定の特殊なケースはすばやく確認できますが、一般的な問題への近道はありません。

余談ですが、特別な場合のショートカットは必然的に数値のエンコードを使用しますが、除算が余りを生成するかどうかは、エンコードではなく、関係する数値のプロパティです。

于 2012-12-06T16:09:29.583 に答える