- - - - - 更新しました - - - - - -
codymanixとmoonshadowはこれまでのところ大きな助けになっています。方程式を使用して問題を解決することができました。右シフトを使用する代わりに、29で除算しました。32ビットで符号付きの場合、2 ^ 31=29にオーバーフローします。これでうまくいきます。
PHPでのプロトタイプ
$r = $x - (($x - $y) & (($x - $y) / (29)));
LEADSの実際のコード(1行に1つの数学関数しか実行できません!!! AHHHH !!!)
DERIVDE1 = IMAGE1 - IMAGE2;
DERIVED2 = DERIVED1 / 29;
DERIVED3 = DERIVED1 AND DERIVED2;
MAX = IMAGE1 - DERIVED3;
----------元の質問-----------
これは私のアプリケーションの制限では完全に可能ではないと思いますが、質問する価値があると思いました。
これを簡単にしようと思います。IFや条件文を使用せずに、2つの数値の間の最大値を見つける必要があります。
MAX値を見つけるために、私は次の機能しか実行できません
Divide, Multiply, Subtract, Add, NOT, AND ,OR
私が2つの数字を持っているとしましょう
A = 60;
B = 50;
ここで、Aが常にBより大きい場合、最大値を見つけるのは簡単です。
MAX = (A - B) + B;
ex.
10 = (60 - 50)
10 + 50 = 60 = MAX
問題は、Aが常にBよりも大きいとは限らないことです。使用しているスクリプトアプリケーションでは、ABS、MAX、MIN、または条件付きチェックを実行できません。
上記の制限された操作を使用して、最大値に非常に近い値を見つける方法はありますか?